class ActionItem(object):
def __init__(self, name, text, confirmation, icon, multiple, single, func):
self.name = name
self.text = text or name
self.confirmation = confirmation
self.icon = icon
self.multiple = multiple
self.single = single
self.func = func
def __repr__(self):
return "Action name:%s; text:%s; confirmation:%s; func:%s;" % (
self.name,
self.text,
self.confirmation,
self.func.__name__,
)
[docs]
def action(name, text, confirmation=None, icon=None, multiple=True, single=True):
"""
Use this decorator to expose actions
:param name:
Action name
:param text:
Action text.
:param confirmation:
Confirmation text. If not provided, action will be executed
unconditionally.
:param icon:
Font Awesome icon name
:param multiple:
If true will display action on list view
:param single:
If true will display action on show view
"""
def wrap(f):
f._action = (name, text, confirmation, icon, multiple, single)
return f
return wrap