Esempio n. 1
0
 def save_typing(self, update, context):
     sign_ask_for = self.base_handler.get_data(update, context, self.base_handler.SIGNIN_ASK_FOR, None)
     if not sign_ask_for:
         return
     
     session = Session.get_from(context.user_data)
 
     go_to = None
     if re.search('odoo_connector_url$', sign_ask_for):
         session.set_auth_args(url= update.message.text)
         go_to = self.workflow_connector(update, context)
     elif re.search('odoo_connector_db$', sign_ask_for):
         session.set_auth_args(database= update.message.text)
         go_to = self.workflow_connector(update, context)
     elif re.search('username$', sign_ask_for):
         session.set_auth_args(username= update.message.text)
     
 
     elif re.search('password$', sign_ask_for):
         session.set_auth_args(password = update.message.text)
     
     Session.set_from(context.user_data, session)
 
     #self.base_handler.set_data(update, context, 
     #    self.base_handler.SIGN_HANDLER_MSG,
     #    'Got it! Please select to update.'
     #)
 
     return go_to or self.workflow_connector(update, context)
Esempio n. 2
0
 def workflow_connector(self, update, context):
     connector = update.callback_query.data
     Session.del_from(context.user_data)
     session = Session.get_from(context.user_data)
     if connector == str(self.CALLBACK_ODOO_CONNECTOR):
         session.sign_handler = OdooSignHandler(self) 
         session.hey_wallet_handler = OdooHeyWalletHandler(self)
         session.datasource = Odoo()
     else:
         session.sign_handler = None
         session.hey_wallet_handler = None
         session.datasource = None
     
     Session.set_from(context.user_data, session)
     
     if session.sign_handler:
         return session.sign_handler.workflow_connector(update, context)
     
     return self.sign_handler.workflow_connector(update, context)
Esempio n. 3
0
    def auth(self, update, context):     
        session = Session.get_from(context.user_data)
        text = 'First  add  your  username and password '
        if session.get_auth_args('password', True) and session.get_auth_args('username', True):
            try:
                session.datasource.auth(**session.auth_args)
                if session.datasource.is_auth():
                    Session.set_from(context.user_data,session)
                    return session.hey_wallet_handler.welcome(update, context)
                else:
                    text = 'Fail auth, update your username or password'
            except Exception as e:
                text = 'Fail auth, update your username or password'
                if getattr(session.datasource, 'auth_exception'):
                    text= session.datasource.auth_exception(e) or text
                logger.error(str(e))

        self.base_handler.set_data(
            update, context,
            self.base_handler.SIGN_HANDLER_MSG,
            value=text
        )
        return self.workflow_connector(update, context)