class CompanyScreen(Screen): menu = MDDropdownMenu error_banner = ObjectProperty(MDBanner) def __init__(self, **kwargs): super().__init__(**kwargs) Clock.schedule_once(self.event_binding) def event_binding(self, dt): companies_selection = [] try: response = requests.get( 'https://developer.mercaditu.com/api/authenticated/my/organizations', headers={ 'Authorization': 'Bearer 5|bWbmJ2bfFsDLOIcQ5rHKZCvmzrYY2uez0SpP82Sr', 'Accept': 'application/json', 'Content-type': 'application/json' }) companies = response.json() if len(companies) != 0: for company in companies: companies_selection.append({ "icon": "account-box", "text": company["following"]["handle"] }) self.menu = MDDropdownMenu(caller=self.ids.company_text, items=companies_selection, position="bottom", width_mult=4, callback=self.set_item) self.menu.bind(on_release=self.set_item) self.menu.set_menu_properties(0) else: raise Exception('La Empresa no se encuentra') except Exception as e: self.error_banner.text = [str(e)] self.error_banner.right_action = [ "CLOSE", lambda x: self.error_banner.hide() ] self.error_banner.show() def set_item(self, *args): self.ids.company_text.text = args[0].text self.menu.dismiss() def go_to_scan_page(self): self.manager.transition.direction = 'left' self.manager.current = 'scanner_screen'
def create_menu_settings(self): root = self.screen_manager.get_screen("main").ids caller = root.nav_content.ids.setting_btn items = [{ "icon": "account-badge", "text": "Account" }, { "icon": "exit-to-app", "text": "Logout" }] menu = MDDropdownMenu(caller=caller, items=items, width_mult=4) menu.set_menu_properties(0.5) return menu