# coding: utf-8 ''' Created on 03.12.2013 @author: v.popov ''' import json try: from ru.curs.showcase.core.jython import JythonDTO except: from ru.curs.celesta.showcase import JythonDTO try: from ru.curs.celesta.showcase.utils import XMLJSONConverter except: pass def buttons(context, main=None, add=None, filterinfo=None, session=None, elementId=None): u'''Функция для кнопок - Добавить, Редактировать, Удалить. ''' if add == "row_clicked": buttonstyle = "blue" else: buttonstyle = "disabled" # Кнопка Добавить addButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": "blue xforms-trigger", "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "gwtWebTextFunc('%s','1');" % elementId, "span": {"@class": "xforms-label", "#text": "Добавить" } } } } } } # Кнопка Редактировать editButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": buttonstyle + ' xforms-trigger', "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "gwtWebTextFunc('%s','2');" % elementId, "span": {"@class": "xforms-label", "#text": "Редактировать" } } } } } } # Кнопка Удалить delButton = {"div":{"@class": "newbutton highbutton", "span": {"@class": buttonstyle + ' xforms-trigger', "span": {"@class": "value", "button": {"@style": "width: 135px; text-align: center", "@onclick": "var answer=confirm(''Вы действительно хотите удалить данную запись?''); if (answer) gwtWebTextFunc('%s','3');" % elementId, "span": {"@class": "xforms-label", "#text": "Удалить" } } } } } } # Данные data = {"div": {"table": {"@cellpadding": "0px", "@cellspacing": "1px", "tr":{"td": [addButton, editButton, delButton ] } } } } # Настройки кнопки Добавить addButtonSettings = {"@name": "single_click", "@linkId": "1", "action": { "@show_in": "MODAL_WINDOW", "#sorted": [ {"main_context": "current"}, {"modalwindow": {"@caption": "Добавление записи"}}, {"datapanel": {"@type": "current", "@tab": "current", "element": {"@id": "15", "add_context": "add" } } }]} } # Настройки кнопки Редактировать editButtonSettings = {"@name": "single_click", "@linkId": "2", "action": { "@show_in": "MODAL_WINDOW", "#sorted": [ {"main_context": "current"}, {"modalwindow": {"@caption": "�зменение записи"}}, {"datapanel": { "@type": "current", "@tab": "current", "element": { "@id": "15", "add_context": "edit"} } }]} } # Настройки кнопки Удалить. Нужно донастроить delButtonSettings = {"@name": "single_click", "@linkId": "3", "action": { "@show_in": "MODAL_WINDOW", "#sorted": [ {"main_context": "current"}, {"datapanel": {"@type": "current", "@tab": "current" } }]} } # Настройки if add == 'row_clicked': settings = {"properties": {"event": [addButtonSettings, editButtonSettings, delButtonSettings] } } else: settings = {"properties": {"event": addButtonSettings } } #print XMLJSONConverter(input=data).parse().encode('cp1251'), XMLJSONConverter(input=settings).parse().encode('cp1251') return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(data)), XMLJSONConverter.jsonToXml(json.dumps(settings)))