示例#1
0
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'
示例#2
0
 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