def mainproc(): conn = ConnectionFactory.getInstance().acquire() try: stmt = conn.prepareCall( "{call [dbo].[grid_download_load] (?, ?, ?, ?, ?, ?, ?, ?)}") try: stmt.setString(1, main) stmt.setString(2, add) setSQLXMLParam(stmt, 3, filterContext) setSQLXMLParam(stmt, 4, session) stmt.setString(5, elementId) stmt.setString(6, "") stmt.registerOutParameter(7, Types.SQLXML) stmt.registerOutParameter(8, Types.VARCHAR) stmt.execute() data = SPUtils.createXmlDSForGrid(stmt.getResultSet()) setting = stmt.getSQLXML(7).getString() return JythonDTO( data, setting, UserMessageFactory().build( 555, u"Грид(запрос) успешно построен из Jython")) finally: stmt.close() finally: ConnectionFactory.getInstance().release(conn) res = JythonDTO( None, None, UserMessageFactory().build(555, u"Грид(запрос) успешно построен из Jython")) return res
def mainproc(): data = u''' <records> <rec> <name>Тест</name> </rec> </records>''' settings = u''' <gridsettings> <labels> <header> <h3>Test Grid jython data</h3> </header> </labels> <columns> <col id="name" /> </columns> <properties flip="false" pagesize="15" totalCount="0" profile="grid.nowidth.properties"/> </gridsettings>''' # res = JythonDTO(data, settings, UserMessage("555", u"Грид успешно построен из Jython", MessageType.INFO)) res = JythonDTO( data, settings, UserMessageFactory().build(555, u"Грид успешно построен из Jython")) return res
def pluginData(context, main, add, filterinfo, session, params): print 'Get plugin data from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'params "%s".' % params data = u''' <items> <item id="child1" name="Lazy loaded item child1" leaf="true"/> <item id="child2" name="Lazy loaded item child2" leaf="true"/> </items>''' # context.message('dd11', u'Заголовок4', u"solutions/default/resources/group_icon_default.png"); # context.warning('dd22'); context.error('dd44', u'Заголовок4', u"solutions/default/resources/group_icon_default.png"); #res = JythonDTO(data, UserMessageFactory().build(555, u"Плагин (Data) успешно построен из Celesta")) res = JythonDTO(data) return res
def mainproc(): data = u''' <records> <rec> <name>Тест1_Частичное обновление</name> <code>1</code> <_x007e__x007e_id>1</_x007e__x007e_id> </rec> <rec> <name>Тест4_Частичное обновление</name> <code>4</code> <_x007e__x007e_id>4</_x007e__x007e_id> </rec> </records>''' settings = None # res = JythonDTO(data, settings, UserMessage("555", u"Грид успешно построен из Jython", MessageType.INFO)) # res = JythonDTO(data, settings, UserMessageFactory().build(555, u"Грид успешно построен из Jython")) print u'dddddddddddddddddddddddddd: Частичное обновление' res = JythonDTO(data, settings) return res
def mainproc(): if main == "плохой": return UserMessage(u"1", u"проверка на ошибку сработала") data = u'<div><a href="?userdata=test1" target="_blank">Перейти к userdata test1</a></div>' settings = None res = JythonDTO(data, settings) return res
def main(context, main, add, filterinfo, session, elementId): print 'Get xform data from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId data = u''' <schema xmlns=""> <info> <name>Белгородская обл.</name> <growth /> <eyescolour /> <music /> <comment /> </info> </schema> ''' settings = u''' <properties> </properties> ''' return JythonDTO( data, settings, UserMessageFactory().build(555, u"xforms успешно построен из Celesta"))
def mainproc(): if main == "плохой": return UserMessage(u"1", u"проверка на ошибку сработала") data = u'''<div> <button type="button" onclick="gwtWebTextFunc('${elementId}','testId');">Обновить нижележащие элементы</button> </div>''' settings = u''' <properties> <event name="single_click" linkId="testId"> <action> <main_context>current</main_context> <datapanel type="current" tab="current"> <element id="grid1"> <add_context> add_context для действия. </add_context> </element> <element id="xform1"> <add_context> add_context для действия. </add_context> </element> <element id="livegrid1"> <add_context> add_context для действия. </add_context> </element> </datapanel> </action> </event> </properties> ''' res = JythonDTO(data, settings) return res
def cardData(context, main, add, filterinfo=None, session=None, elementId=None): xformsdata = {"schema": {"@xmlns": ""}} xformssettings = { "properties": { "event": [{ "@name": "single_click", "@linkId": "1", "action": { "#sorted": [{ "main_context": "current" }, { "datapanel": { "@type": "current", "@tab": "current", "element": { "@id": "customPermissionsTypesGrid", "add_context": "" } } }] } }] } } jsonData = XMLJSONConverter.jsonToXml(json.dumps(xformsdata)) jsonSettings = XMLJSONConverter.jsonToXml(json.dumps(xformssettings)) return JythonDTO(jsonData, jsonSettings)
def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция данных для карточки редактирования содержимого таблицы типоа разрешений. ''' #raise Exception(session) permissionsTypes = customPermsTypesCursor(context) if add == 'add': xformsdata = {"schema":{"type":{"@name":"", "@description":""} } } elif add == 'edit': currId = json.loads(session)['sessioncontext']['related']['gridContext']['currentRecordId'] permissionsTypes.get(currId) xformsdata = {"schema":{"type":{"@name": permissionsTypes.name, "@description": permissionsTypes.description, "@add":add} } } # print xformsdata xformssettings = {"properties":{"event":{"@name":"single_click", "@linkId": "1", "action":{"#sorted":[{"main_context": "current"}, {"datapanel": {"@type": "current", "@tab": "current", "element": {"@id":"customPermissionsTypesGrid", "add_context": ""} } }]} } } } return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(xformsdata)), XMLJSONConverter.jsonToXml(json.dumps(xformssettings)))
def gridMeta(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция получения настроек грида. ''' # Курсор таблицы permissions permissionsTypes = customPermsTypesCursor(context) # Вычисляем количества записей в таблице totalcount = permissionsTypes.count() # Заголовок таблицы header = "Типы разрешений" # В случае если таблица пустая _header = {"id": ["~~id"], "name": [u"Тип"], "description": [u"Описание"], "properties": [u"properties"] } # Определяем список полей таблицы для отображения settings = {} settings["gridsettings"] = {"columns": {"col":[]}, "properties": {"@pagesize":"50", "@gridWidth": "100%", "@gridHeight":getGridHeight(session, delta=40), "@totalCount":totalcount, "@profile":"default.properties"}, "labels": {"header":header} } # Добавляем поля для отображения в gridsettings settings["gridsettings"]["columns"]["col"].append({"@id": _header["name"][0], "@width": "120px"}) settings["gridsettings"]["columns"]["col"].append({"@id": _header["description"][0], "@width": "480px"}) res = XMLJSONConverter.jsonToXml(json.dumps(settings)) return JythonDTO(None, res)
def mainproc(attributes): conn = ConnectionFactory.getInstance().acquire() try: stmt = conn.prepareCall( "{call [dbo].[grid_download2] (?, ?, ?, ?, ?, ?, ?, ?, ?)}") try: stmt.setString(1, attributes.getMainContext()) stmt.setString(2, attributes.getAddContext()) setSQLXMLParam(stmt, 3, attributes.getFilterinfo()) setSQLXMLParam(stmt, 4, attributes.getSessionContext()) stmt.setString(5, attributes.getElementId()) stmt.setString(6, attributes.getRecordId()) stmt.registerOutParameter(7, Types.VARCHAR) stmt.registerOutParameter(8, Types.BLOB) stmt.registerOutParameter(9, Types.VARCHAR) stmt.execute() fileName = stmt.getString(7) bt = stmt.getBytes(8) if bt != None: return JythonDownloadResult(ByteArrayInputStream(bt), fileName) else: return JythonDownloadResult(None, fileName) finally: stmt.close() finally: ConnectionFactory.getInstance().release(conn) res = JythonDTO(None, None) return res
def createJythonDTO(inData, inSettings=None, convertData=True, convertSettings=True): """Конвертирует @a inData и @a inSettings в @c XML и создаёт объект @c JythonDTO. По умолчанию производится конвертация обоих параметров. Также, один из или оба параметра могут не конвертироваться (@a convertData=False и/или @a convertSettings=False соответственно), т.е. не будет выполняться никаких преоразований. Это может потребоваться, если один из параметров уже преобразован в @c XML. @param inData (@c dict or @c string) JSON-словарь или JSON-строка; @param inSettings (@c dict or @cstring) JSON-словарь или JSON-строка; @param convertData (@c boolean) выполнять ли конвертацию inData; @param convertSettings (@c boolean) выполнять ли конвертацию convertSettings; @return @c JythonDTO """ data = inData if data and convertData: data = jsonToXml(data) settings = inSettings if settings and convertSettings: settings = jsonToXml(settings) return JythonDTO(data, settings)
def getSetting(context, main, add, filterinfo, session, elementId): print 'Get grid setting from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId settings = u''' <gridsettings> <labels> <header> <h3>Edit Grid jython2</h3> </header> </labels> <columns> <col id="name" /> <col id="code" /> </columns> <properties flip="false" gridWidth="1200px" gridHeight="500" pagesize="15" totalCount="8" /> </gridsettings>''' res = JythonDTO( None, settings, UserMessageFactory().build( 555, u"Грид (Tree, metadata) успешно построен из Celesta")) return res
def getSetting(context, main, add, filterinfo, session, elementId): print 'Get grid setting from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId settings = u''' <gridsettings> <labels> <header> <h3>Test Grid jython data</h3> </header> </labels> <columns> <col id="name" /> <col id="file" width="330px" type="DOWNLOAD" linkId="download"/> </columns> <sorting> <sort column="file" direction="DESC"/> </sorting> <properties pagesize="15" totalCount="1" profile="grid.nowidth.properties"/> </gridsettings>''' res = JythonDTO(None, settings) return res
def mainproc(): if main == u"плохой": return UserMessage(u"1", u"проверка на ошибку сработала") data = u"<root><name>" + main + "</name><count>" + unicode(random.randrange(1, 10000000), "utf-8") + u"</count></root>" settings = None if add == "withsettings": settings = u'''<properties> <action > <main_context>current</main_context> <datapanel type="current" tab="current"> <element id="d2"> <add_context>я оригинальный</add_context> </element> </datapanel> <server> <activity id="srv01" name="sc_init_debug_console_adapter"/> </server> </action> <event name="single_click" linkId="1"> <action > <main_context>current</main_context> <datapanel type="current" tab="current"> <element id="d2"> <add_context>я оригинальный</add_context> </element> </datapanel> <server> <activity id="srv01" name="sc_init_debug_console_adapter"/> </server> </action> </event> </properties>''' res = JythonDTO(data, settings, UserMessageFactory().build(555, u"WebText успешно построен из Jython")) return res
def template(context, main, add, filterinfo, session, elementId): print 'Get xform data from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId data = u''' <partOfXFormTemplate xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms"> <div> <xf:trigger> <xf:label>Hello!</xf:label> <xf:message level="modal" ev:event="DOMActivate">Hello World!</xf:message> </xf:trigger> </div> </partOfXFormTemplate> ''' return JythonDTO(data)
def doTemplateJsForm(context, elementId): data = u'''<script type="text/javascript"> require(["dijit/registry", "dijit/form/Button", "dojo/dom", "dojo/domReady!"], function(registry, Button, dom){ var widget = registry.byId("submitSynchButton"); if (widget) { //Without this, there will be an error when re-loading this script widget.destroyRecursive(true); } var submitSynchButton = new Button({ label: "Asynch Submit", onClick: function(){ //dom.byId("result1").innerHTML += "Thank you! "; jsFormSubmitAsynch('1','submit01', 'data', function(data) { dom.byId("result1").innerHTML += "Success! Received data: '"+data+"'"; }, function(err) { dom.byId("result1").innerHTML += "Failure. Error message: '"+err.message+"'"; } ); } }, "submitSynchButton").startup(); }); </script> <button id="submitSynchButton" type="button"></button> <div id="result1"></div>''' settings = u'''''' return JythonDTO(data, settings)
def gridMeta(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция получения настроек грида. ''' # Курсор таблицы directories roles = RolesCursor(context) # Вычисляем количества записей в таблице specialRoles = ["!'editor'", "!'reader'"] roles.setFilter("id", '&'.join(specialRoles)) totalcount = roles.count() # Заголовок таблицы header = "Роли" _header = {"id": [u"Роль"], "description": [u"Описание"], } # Определяем список полей таблицы для отображения settings = {} settings["gridsettings"] = {"columns": {"col": []}, "properties": {"@pagesize":"50", "@gridWidth": "100%", "@gridHeight": getGridHeight(session, numberOfGrids=1.6, delta=35), "@totalCount": totalcount, "@profile": "default.properties"}, "labels": {"header": header} } # Добавляем поля для отображения в gridsettings settings["gridsettings"]["columns"]["col"].append({"@id": _header["id"][0], "@width": "80px"}) settings["gridsettings"]["columns"]["col"].append({"@id": _header["description"][0], "@width": "400px"}) res = XMLJSONConverter.jsonToXml(json.dumps(settings)) return JythonDTO(None, res)
def mainproc(): data = u'''<div><h1>Test HTML</h1><b>bold text</b></div>''' settings = u''' <properties> </properties> ''' res = JythonDTO(data, settings) return res
def mainproc(): data = u'<div><h2>Add context=(' + add + ')</h2></div>' settings = u'''<properties> </properties> ''' res = JythonDTO(data, settings) return res
def mainproc(): global result result = u'[' parser = XMLUtils.createSAXParser() stream = TextUtils.stringToStream(data) parser.parse(stream, myHandler()) result += u']' return JythonDTO([result])
def mainproc(): global result result = u'''[ { "DirectionName": "Направление 1", "ID": "14456", "Name": "Имя 1", "Number": "Номер поручения 1", "ShortName": "краткое содержание 1", "Term": "2010-02-01 00:00:00", "StatusNum": "0", "ExecutorName": "Исполнитель 1", "DirID": "3", "TermUnix": "1264968000" }, { "DirectionName": "Направление 1", "ID": "14456", "Name": "Имя 2", "Number": "Номер поручения 2", "ShortName": "краткое содержание 2", "Term": "2010-02-02 00:00:00", "StatusNum": "0", "ExecutorName": "Исполнитель 2", "DirID": "3", "TermUnix": "1265068000" }, { "DirectionName": "Направление 5", "ID": "14456", "Name": "Имя 3", "Number": "Номер поручения 3", "ShortName": "краткое содержание 3", "Term": "2010-04-03 00:00:00", "StatusNum": "0", "ExecutorName": "Исполнитель 3", "DirID": "3", "TermUnix": "1265168000" } ]''' return JythonDTO([result])
def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция данных для карточки редактирования содержимого таблицы ролей. ''' settings=Settings() #ru.curs.showcase.security.SecurityParamsFactory.getAuthServerUrl() rolesUsers = UserRolesCursor(context) currId = json.loads(session)['sessioncontext']['related']['gridContext']['currentRecordId'] rolesUsers.setRange("roleid", currId) content=[] if settings.isUseAuthServer() and settings.loginIsSubject(): sessionId=json.loads(session)["sessioncontext"]["sessionid"] server=SecurityParamsFactory.getAuthServerUrl() users_xml=getUsersFromAuthServer(server, sessionId) if rolesUsers.tryFindSet(): while True: for user in users_xml.getElementsByTagName("user"): if user.getAttribute("SID")==rolesUsers.userid: content.append({"@sid" : rolesUsers.userid, "@userName" : user.getAttribute("name") }) break if not rolesUsers.nextInSet(): break else: subjects = subjectsCursor(context) if rolesUsers.tryFindSet(): while True: if subjects.tryGet(rolesUsers.userid): content.append({"@sid" : subjects.sid, "@userName" : subjects.name }) if not rolesUsers.nextInSet(): break if content==[]: xformsdata = {"schema":{"users": "" } } else: xformsdata = {"schema":{"users": {"user": content} } } xformssettings = {"properties":{"event":{"@name":"single_click", "@linkId": "1", "action":{"#sorted":[{"main_context": "current"}, {"datapanel": {"@type": "current", "@tab": "current", "element": {"@id":"id_roles_grid", "add_context": ""} } }]} } } } return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(xformsdata)), XMLJSONConverter.jsonToXml(json.dumps(xformssettings)))
def getTemplate(context, main, add=None, filterinfo=None, session=None, elementId=None): formInstance = getFormInstance(context, main) formInstance.setContext(session, main, add, elementId) return JythonDTO(unicode(formInstance._buildForm()))
def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция данных для карточки редактирования содержимого таблицы ролей. ''' subjects = subjectsCursor(context) if add == 'add': sid = getNextNoOfSeries(context, 'subjects') + id_generator() xformsdata = { "schema": { "@xmlns": "", "subject": { "@name": "", "@sid": sid } } } elif add == 'edit': currId = json.loads(session)['sessioncontext']['related'][ 'gridContext']['currentRecordId'] subjects.get(currId) xformsdata = { "schema": { "subject": { "@name": subjects.name, "@sid": subjects.sid } } } # print xformsdata xformssettings = { "properties": { "event": { "@name": "single_click", "@linkId": "1", "action": { "#sorted": [{ "main_context": "current" }, { "datapanel": { "@type": "current", "@tab": "current", "element": { "@id": "subjectsGrid", "add_context": "" } } }] } } } } return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(xformsdata)), XMLJSONConverter.jsonToXml(json.dumps(xformssettings)))
def mainproc(): global resultMetadata global resultData resultData = u'[' parser = XMLUtils.createSAXParser() stream = TextUtils.stringToStream(data) parser.parse(stream, myHandler()) resultData += u']' result = u"{metadata: "+resultMetadata+u", data: "+resultData+u"}" return JythonDTO([result])
def webtext(context, main, add, filterinfo, session, elementId): print 'Get navigator data from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId data = u''' <h1> <a href="#" onclick="gwtWebTextFunc('${elementId}','testIdClient');">Показать сообщение (client activity)</a> <br/> <a href="#" onclick="gwtWebTextFunc('${elementId}','testIdServer');">Показать сообщение (server activity)</a> <br/> <br/> <br/> <br/> <br/> <button type="button" onclick="measureDownloadSpeed(10);">Измерить скорость загрузки контента</button> </h1> ''' settings = u''' <properties> <event name="single_click" linkId="testIdClient"> <action > <main_context>Москва</main_context> <client> <activity id="activityClientID" name="showcaseShowAddContext"> <add_context> add_context действия. </add_context> </activity> </client> </action> </event> <event name="single_click" linkId="testIdServer"> <action > <main_context>Москва</main_context> <server> <activity id="activityServerID" name="g1.activity.simple.celesta"> <add_context> add_context для действия </add_context> </activity> </server> </action> </event> </properties> ''' #return JythonDTO(data, settings, UserMessageFactory().build(555, u"WebText успешно построен из Celesta")) return JythonDTO(data, settings)
def mainproc(attributes): parentId='' curValue='' if attributes!=None: pId = attributes.getParentId() if pId!=None: parentId=pId+'.' pCurValue = attributes.getCurValue() if pCurValue!=None and pCurValue!='': curValue=' ['+pCurValue+']' #attributes.getParams() #attributes.isStartsWith() #print "dddddddddddddd" #print curValue data = None data = u''' <items> </items>''' data = u''' <items> <item/> </items>''' #print "dddddddddddddd" #print parentId if len(parentId) < 6: data = u''' <items> <item expand="false" id="'''+parentId+'''1" name="Название1 записи '''+parentId+'''1'''+curValue+'''" column1="Значение1" column2="solutions/default/resources/imagesingrid/test.jpg" leaf="false" checked="false" hideSelector = "true" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item expand="false" id="'''+parentId+'''2" name="Название2 записи '''+parentId+'''2'''+curValue+'''" column1="Значение2" column2="solutions/default/resources/imagesingrid/test.jpg" leaf="false" hideSelector = "false" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item expand="false" id="'''+parentId+'''3" name="Название3 записи '''+parentId+'''3'''+curValue+'''" column1="Значение3" column2="solutions/default/resources/imagesingrid/test.jpg" hasChildren="false" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item expand="false" id="'''+parentId+'''4" name="Название4 записи '''+parentId+'''4'''+curValue+'''" column1="Значение4" column2="solutions/default/resources/imagesingrid/test.jpg" checked="false" hasChildren="true" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> </items>''' else: data = u''' <items> <item id="'''+parentId+'''1" name="Название1 записи '''+parentId+'''1'''+curValue+'''" column1="Значение1" column2="solutions/default/resources/imagesingrid/test.jpg" leaf="false" checked="false" hideSelector = "true" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item id="'''+parentId+'''2" name="Название2 записи '''+parentId+'''2'''+curValue+'''" column1="Значение2" column2="solutions/default/resources/imagesingrid/test.jpg" leaf="false" hideSelector = "false" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item id="'''+parentId+'''3" name="Название3 записи '''+parentId+'''3'''+curValue+'''" column1="Значение3" column2="solutions/default/resources/imagesingrid/test.jpg" hasChildren="false" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> <item id="'''+parentId+'''4" name="Название4 записи '''+parentId+'''4'''+curValue+'''" column1="Значение4" column2="solutions/default/resources/imagesingrid/test.jpg" checked="false" hasChildren="true" treeGridNodeCloseIcon="solutions/default/resources/imagesingrid/TreeGridNodeClose.gif" treeGridNodeOpenIcon="solutions/default/resources/imagesingrid/TreeGridNodeOpen.gif" treeGridNodeLeafIcon="solutions/default/resources/imagesingrid/TreeGridLeaf.png"/> </items>''' #res = JythonDTO(data, UserMessageFactory().build(555, u"Триселектор успешно построен из Jython")) res = JythonDTO(data) return res
def mainproc(): result = XMLJSONConverter.xmlToJson(data) # result = XMLJSONConverter.jsonToXml(data) # print 'dd22' # print result return JythonDTO([result])
def getSetting(context, main, add, filterinfo, session, elementId): print 'Get grid setting from Celesta Python procedure.' print 'User %s' % context.userId print 'main "%s".' % main print 'add "%s".' % add print 'filterinfo "%s".' % filterinfo print 'session "%s".' % session print 'elementId "%s".' % elementId settings = u''' <gridsettings> <labels> <header> <h3>Edit Grid jython2</h3> </header> </labels> <sorting> <sort column="Название" direction="ASC"/> </sorting> <columns> <col id="Название" /> <col id="code" /> </columns> <properties flip="false" gridWidth="1200px" gridHeight="500" pagesize="15" totalCount="8" /> </gridsettings>''' #context.message(u"555"); #context.message(u"Сообщение", u"Заголовок"); #context.message(u"Сообщение", u"Заголовок", u"solutions/default/resources/group_icon_default.png" ); #context.warning(u"555"); #context.warning(u"Сообщение", u"Заголовок"); #context.warning(u"Сообщение", u"Заголовок", u"solutions/default/resources/group_icon_default.png" ); #context.error(u"555"); #context.error(u"Сообщение", u"Заголовок"); #context.error(u"Сообщение", u"Заголовок22", u"solutions/default/resources/group_icon_default.png" ); # res = JythonDTO(None, settings, UserMessageFactory().build(555, u"Грид (Live, metadata) успешно построен из Celesta")) res = JythonDTO(None, settings) return res