# coding: utf-8 import json from ru.curs.celesta.showcase.utils import XMLJSONConverter from umk._umk_orm import specialityCursor try: from ru.curs.showcase.core.jython import JythonDTO 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 JythonDTO def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Данные для карточки.''' string_bool = lambda x: x and 'true' or 'false' # Структура данных xforms_data = { 'schema': { '@xmlns': '', 'data': { 'form_text': 'Вы действительно хотите удалить эту специальность?' } } } # Первоначальная xforms_settings xforms_settings = { 'properties': { 'event': [ { '@name': 'single_click', '@linkId': '1', 'action': { '@keep_user_settings': string_bool(True), '#sorted': [ {'main_context': 'current'}, {'datapanel': { '@type': 'current', '@tab': 'current', 'element': { '@id': 'specialitiesGrid', 'add_context': '' } }}] } } ] } } return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(xforms_data)), XMLJSONConverter.jsonToXml(json.dumps(xforms_settings))) def cardSave(context, main=None, add=None, filterinfo=None, session=None, elementId=None, xformsdata=None): u'''Сохранение карточки. ''' specialities = specialityCursor(context) current_id = json.loads(session)['sessioncontext']['related']['gridContext']['currentRecordId'] specialities.get(current_id) specialities.delete() def checkSpecialitiesUsage(context, current_id): u'''Проверяет где используется специальность. ''' return False