Fixed message forwarding for menuitemmixin
This commit is contained in:
parent
5b203859c5
commit
8e2da40540
|
@ -1,6 +1,7 @@
|
||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python2
|
||||||
|
from verdandi.mixins.messagemixin import MessageMixin
|
||||||
|
|
||||||
class MenuItemMixin(object):
|
class MenuItemMixin(MessageMixin):
|
||||||
|
|
||||||
menu_title = "Menu title"
|
menu_title = "Menu title"
|
||||||
menu_label = None
|
menu_label = None
|
||||||
|
@ -10,28 +11,30 @@ class MenuItemMixin(object):
|
||||||
menu_items = None
|
menu_items = None
|
||||||
|
|
||||||
def process_message(self, message):
|
def process_message(self, message):
|
||||||
|
other_messages = super(MenuItemMixin, self).process_message(message)
|
||||||
|
|
||||||
if message == None:
|
if message == None:
|
||||||
return [{'type': 'menu_add_item',
|
return other_messages + [{'type': 'menu_add_item',
|
||||||
'title' : self.menu_title,
|
'title' : self.menu_title,
|
||||||
'parent' : self.menu_parent,
|
'parent' : self.menu_parent,
|
||||||
'label' : self.menu_label,
|
'label' : self.menu_label,
|
||||||
'url' : self.url}]
|
'url' : self.url}]
|
||||||
elif message['type'] == 'menu_add_item':
|
|
||||||
|
|
||||||
|
elif message['type'] == 'menu_add_item':
|
||||||
if self.menu_items == None:
|
if self.menu_items == None:
|
||||||
self.menu_items = {}
|
self.menu_items = {}
|
||||||
|
|
||||||
label = message['label']
|
label = message['label']
|
||||||
if label in self.menu_items.keys():
|
if label in self.menu_items.keys():
|
||||||
print '[Warn] Depulicate menu item label: %s in %s' % (label, self.menu_label)
|
print '[Warn] Depulicate menu item label: %s in %s' % (label, self.menu_label)
|
||||||
return []
|
return other_messages
|
||||||
|
|
||||||
self.menu_items[label] = {}
|
self.menu_items[label] = {}
|
||||||
|
|
||||||
for key in ['title', 'parent', 'label', 'url']:
|
for key in ['title', 'parent', 'label', 'url']:
|
||||||
self.menu_items[label][key] = message[key]
|
self.menu_items[label][key] = message[key]
|
||||||
|
|
||||||
return []
|
return other_messages
|
||||||
|
|
||||||
|
|
||||||
def get_menu_path(self):
|
def get_menu_path(self):
|
||||||
|
|
Loading…
Reference in New Issue