Beispiel #1
0
 def account_active_prepare(self, signup_type="signup", expiration=False):
     """ generate a new token for the partners with the given validity, if necessary
         :param expiration: the expiration datetime of the token (string, optional)
     """
     for partner in self:
         if expiration or not partner.signup_valid:
             token = random_token()
             while self._signup_retrieve_partner(token):
                 token = random_token()
             partner.write({
                 'signup_token': token,
                 'signup_type': signup_type,
                 'signup_expiration': expiration
             })
     return True
Beispiel #2
0
class TelegramSession(models.Model):
    _name = "telegram.session"

    chat_ID = fields.Char()
    token = fields.Char(default=lambda self: random_token())
    odoo_session_sid = fields.Char(help="Equal to request.session.sid")
    logged_in = fields.Boolean()
    user_id = fields.Many2one('res.users')
    context = fields.Text(
        'Context',
        help=
        'Any json serializable data. Can be used to share data between user requests.'
    )

    @api.multi
    def get_user(self):
        self.ensure_one()
        return self.user_id or self.env.ref('base.public_user')

    @api.multi
    def get_odoo_session(self):
        self.ensure_one()
        return odoo.http.root.session_store.get(self.odoo_session_sid)

    @api.model
    def get_session(self, chat_ID):
        tsession = self.env['telegram.session'].search([('chat_ID', '=',
                                                         chat_ID)])
        if not tsession:
            tsession = self.env['telegram.session'].create(
                {'chat_ID': chat_ID})
        return tsession
Beispiel #3
0
class TelegramSession(models.Model):
    _name = "telegram.session"

    chat_ID = fields.Char()
    token = fields.Char(default=lambda self: random_token())
    odoo_session_sid = fields.Char(help="Equal to request.session.sid")
    logged_in = fields.Boolean()
    user_id = fields.Many2one('res.users')
    context = fields.Text('Context', help='Any json serializable data. Can be used to share data between user requests.')
    reply_keyboard = fields.Boolean('Reply Keyboard', help='User is shown ReplyKeyboardMarkup without one_time_keyboard. Such keyboard has to be removed explicitly')
    handle_reply = fields.Text('Reply handling')
    handle_reply_command_id = fields.Many2one('telegram.command')

    @api.multi
    def get_user(self):
        self.ensure_one()
        return self.user_id or self.env.ref('base.public_user')

    @api.multi
    def get_odoo_session(self):
        self.ensure_one()
        return odoo.http.root.session_store.get(self.odoo_session_sid)

    @api.model
    def get_session(self, chat_ID):
        tsession = self.env['telegram.session'].search([('chat_ID', '=', chat_ID)])
        if not tsession:
            tsession = self.env['telegram.session'].create({'chat_ID': chat_ID})
        return tsession
 def _generate_token(self):
     token = random_token()
     self.write({
         "token_set_password_encrypted":
         self._encrypt_token(token),
         "token_expiration":
         datetime.now() +
         timedelta(minutes=self.directory_id.set_password_token_duration),
     })
     return token