Esempio n. 1
1
    def layout(self):
        self.user = ''

        def on_text_email(instance, value):
            self.user = str(value)
            setButtonColor()

        layout = BoxLayout(
                        orientation= 'vertical',
                        padding= (dp(48),2*dp(48)),
                        spacing= dp(48),
                        )

        userField = MDTextField()
        userField.hint_text = "Enter user ID"
        userField.bind(text=on_text_email)
        layout.add_widget(userField)

        proceedButton = MDRaisedButton(text='Enter Information', size_hint=(None, None),size= (4*dp(48),dp(48)))
        proceedButton.md_bg_color = [0.9, 0, 0, 0.9]
        app = App.get_running_app()

        def setButtonColor():
            if self.user != '':
                proceedButton.text = 'Proceed'
                proceedButton.md_bg_color = app.theme_cls.primary_color
                proceedButton.bind(on_press=lambda x: self.processInformation())

        proceedAnchor = AnchorLayout(anchor_x='center',anchor_y='center')
        proceedAnchor.add_widget(proceedButton)
        layout.add_widget(proceedAnchor)

        return layout
Esempio n. 2
0
    def layout(self):
        self.charge = False
        self.amount = ''
        self.ready = False

        def on_text_charge(instance, value):
            self.amount = value
            if len(value) >= 1:
                self.ready = True
            else:
                self.ready = False
            setButtonColor()

        layout = BoxLayout(orientation='vertical',
                           padding=(2 * dp(48), 2 * dp(48)))

        #Charge Box
        chargeField = MDTextField()
        chargeField.hint_text = "Enter Amount to Charge"
        chargeField.input_filter = "int"
        chargeField.bind(text=on_text_charge)
        layout.add_widget(chargeField)

        proceedButton = MDRaisedButton(text='Proceed',
                                       size_hint=(None, None),
                                       size=(4 * dp(48), dp(48)))
        proceedButton.md_bg_color = [0.9, 0, 0, 0.9]

        app = App.get_running_app()

        def setButtonColor():
            if self.ready:
                proceedButton.md_bg_color = app.theme_cls.primary_color
                proceedButton.bind(on_press=lambda x: self.createCharge())

        proceedAnchor = AnchorLayout(anchor_x='center',
                                     anchor_y='bottom',
                                     padding=[60])
        proceedAnchor.add_widget(proceedButton)
        layout.add_widget(proceedAnchor)

        content = Builder.load_string(spinner)
        self.stripepopup = Popup(title='Charging Card',
                                 title_align='center',
                                 size_hint=(None, None),
                                 size=(dp(200), dp(200)))
        self.stripepopup.add_widget(content)
        self.stripepopup.title_font = 'data/fonts/Roboto-Bold.ttf'
        self.stripepopup.title_color = App.get_running_app(
        ).theme_cls.primary_color
        self.stripepopup.separator_color = App.get_running_app(
        ).theme_cls.primary_color
        self.stripepopup.background = str(
            Atlas('{}round_shadow.atlas'.format(images_path)))

        return layout
Esempio n. 3
0
    def layout(self):

        self.paymentDict = {}
        self.card = False
        self.year = False
        self.month = False
        self.cvc = False

        def on_text_card(instance, value):
            if len(value) == 16:
                self.card = True
                self.paymentDict['card'] = str(value)
            else:
                self.card = False
            setButtonColor()

        def on_text_month(instance, value):
            if len(value) == 2:
                self.month = True
                self.paymentDict['month'] = str(value)
            else:
                self.month = False
            setButtonColor()

        def on_text_year(instance, value):
            if len(value) == 4:
                self.year = True
                self.paymentDict['year'] = str(value)
            else:
                self.year = False
            setButtonColor()

        def on_text_cvc(instance, value):
            if len(value) == 3:
                self.cvc = True
                self.paymentDict['cvc'] = str(value)
            else:
                self.cvc = False
            setButtonColor()

        layout = BoxLayout(orientation='vertical',
                           padding=(2 * dp(48), 2 * dp(48)))
        # Credit Card Input
        self.creditCardField = MDTextField()
        self.creditCardField.hint_text = "Credit Card Number"
        self.creditCardField.input_filter = 'int'
        self.creditCardField.max_text_length = 16
        self.creditCardField.bind(text=on_text_card)
        layout.add_widget(self.creditCardField)

        # Exp date input
        dateBox = BoxLayout()
        self.expMonth = MDTextField(
        )  # This is the color used by the textfield
        self.expMonth.hint_text = "Exp Month"
        self.expMonth.input_filter = 'int'
        self.expMonth.max_text_length = 2
        self.expMonth.bind(text=on_text_month)
        self.expYear = MDTextField()
        self.expYear.hint_text = "Exp Year"
        self.expYear.input_filter = 'int'
        self.expYear.max_text_length = 4
        self.expYear.bind(text=on_text_year)
        dateBox.add_widget(self.expMonth)
        dateBox.add_widget(self.expYear)
        layout.add_widget(dateBox)
        # CVC
        cvcBox = BoxLayout()
        self.cvcTextField = MDTextField()
        self.cvcTextField.hint_text = "CVC"
        self.cvcTextField.helper_text = "3 digit number on back of card"
        self.cvcTextField.helper_text_mode = "on_focus"
        self.cvcTextField.input_filter = "int"
        self.cvcTextField.bind(text=on_text_cvc)
        blankWidget8 = MDLabel(text='')
        cvcBox.add_widget(self.cvcTextField)
        cvcBox.add_widget(blankWidget8)
        layout.add_widget(cvcBox)

        # Combined Boxes into
        proceedButton = MDRaisedButton(text='Enter Credit Card',
                                       size_hint=(None, None),
                                       size=(4 * dp(48), dp(48)))
        proceedButton.md_bg_color = [0.9, 0, 0, 0.9]
        # proceedButton.bind(on_press=lambda x: self.processInformation(paymentDict))
        self.app = App.get_running_app()

        def setButtonColor():
            if all([self.card, self.year, self.month, self.cvc]):
                proceedButton.md_bg_color = self.app.theme_cls.primary_color
                proceedButton.text = 'Proceed'
                proceedButton.bind(
                    on_press=lambda x: self.processInformation())
            else:
                proceedButton.unbind

        proceedAnchor = AnchorLayout(anchor_x='center', anchor_y='bottom')
        proceedAnchor.add_widget(proceedButton)
        # #Combine all together
        layout.add_widget(proceedAnchor)

        content = Builder.load_string(spinner)
        self.authenPopup = Popup(title='Authorizing...',
                                 title_align='center',
                                 size_hint=(None, None),
                                 size=(dp(200), dp(200)))
        self.authenPopup.add_widget(content)
        self.authenPopup.title_font = 'data/fonts/Roboto-Bold.ttf'
        self.authenPopup.title_color = App.get_running_app(
        ).theme_cls.primary_color
        self.authenPopup.separator_color = App.get_running_app(
        ).theme_cls.primary_color
        self.authenPopup.background = str(
            Atlas('{}round_shadow.atlas'.format(images_path)))

        return layout