Hello,
I have modified the shop/payment/get_status controller but when the session gets modified in the code. The logged in user gets logged out. How can I make the user logged in when inside the shop/payment/get_status.
Code:
    @http.route('/shop/payment/get_status/<int:sale_order_id>', type='json', auth="public", website=True)
    def payment_get_status(self, sale_order_id, **post):
        print("payment_get_status")
        order = request.env['sale.order'].sudo().browse(sale_order_id).exists()
        print("order");print(order)
        assert order.id == request.session.get('sale_last_order_id')
        #----------------------------------------------------------------------------------
        _logger.info("request.session")
        _logger.info(request.session)
        tx = request.session.get('__website_sale_last_tx_id')
        print(tx)
        if tx:
            if type(tx) == int:
                tx = request.env['payment.transaction'].sudo().search([('id','=',tx)])
                if tx and tx.sale_order_id.id == int(sale_order_id):
                    print(tx.acquirer_id.provider)
                    print(tx.moneris_session)
                    if tx.acquirer_id.provider == 'moneris' and tx.moneris_session:
                        try:
                            if type(tx.moneris_session) == str:
                                tx_session = literal_eval(tx.moneris_session)
                        except Exception as e:
                            _logger.warning("Exception: " + str(e.args))
                        _logger.info("tx_session: " + str(tx_session))
                        if tx_session:
                            _logger.info("website_sale_current_pl" + str(request.session.get('website_sale_current_pl')))
                            updated_session = False
                            for key in ['uid','login','session_token']:
                                if tx_session.get(key):
                                    if not request.session[key] or request.session[key] == False or request.session[key] == None : 
                                        request.session[key] = tx_session.get(key)
                                        updated_session = True
                            if updated_session== True:
                                _logger.info("UPDATED request.session")
                                _logger.info(request.session)
                                tx.sudo().write({'moneris_session': False})
        # ---------------------------------------------------------------------------
        return {
            'recall': order.payment_tx_id.state == 'pending',
            'message': request.env['ir.ui.view'].render_template("website_sale.payment_confirmation_status", {
                'order': order
            })
        }
