def get_or_create_menu(self, key, verbose_name=None, disabled=False, side=LEFT, position=None): self.populate() if key in self.menus: menu = self.menus[key] if verbose_name: menu.name = verbose_name if menu.side != side: menu.side = side if position: self.remove_item(menu) self.add_item(menu, position=position) return menu menu = Menu(verbose_name, self.csrf_token, disabled=disabled, side=side) self.menus[key] = menu self.add_item(menu, position=position) return menu
def process_template_response(self, request, response): if request.user.is_authenticated() and request.user.is_staff: self.items = 0 self.request = request self.language = get_lang(request) self.toolbar = request.toolbar self.menu = Menu("%(otype)s", self.toolbar.csrf_token, side=LEFT) context = getattr(response, 'context_data', {}) self.add_object_menu(context.get('object', None)) self.add_list_menu(context.get('object_list', None)) if self.items: self.toolbar.menus['object-menu'] = self.menu self.toolbar.add_item(self.menu, position=None) return response