Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

web.base.url and Multi-sites

Subscribe

Get notified when there's activity on this post

This question has been flagged
domainpaymentparametersmultisiteSH
5 Replies
9407 Views
Avatar
Luke A

We're hosting multiple websites on SH (same database) each with different brands and customer bases and have been running into issues with the web.base.url parameter.

The ecommerce website in this example is a secondary site. The web.base.url parameter is set as the principal site. When a checkout is concluded on the 2nd ecommerce site, Odoo automatically redirects to the third-party gateway via the principal website domain which seems to invalidate the CRSF token and also creates anxiety to the customer who doesn't understand why they are being taken to this other website instead of the payment portal.

I understand that the web.base.url.freeze parameter can be set to "True" to define the URL used without resetting but my question is what is the solution to isolate these domains when you are running multiple websites each with their own checkouts, payment gateways and assets without crossing over?

4
Avatar
Discard
Raul Edgardo Rueda

Hello. I would like to know if your problem was solved. It happens to me exactly the same?. Can you help me? Thanks


Eric Mattingley

Any answer? This is so silly. I hardly even understand what web.base.url even does. I want all my websites to work individually. Is that that hard? Isn't that the behavior everyone on the planet would *expect*?

zahid

Hello, did you find a workarround to this problem? I am facing the same issue.

Avatar
Luke A
Author Best Answer

Until now we haven't found any solution and will probably require a lot of customization of the modules susceptible to problems (eg. the payment gateway module we are using). I understand that a lot of records can be isolated to specific websites within the backend, but where the web.base.url is used it can cause problems.

To mention another example is when links are sent via email to customers and this parameter is used. That being said the workaround will be to identify these specific examples and treat them with some customization. A lot of work for what should be a native behaviour in my opinion.

5
Avatar
Discard
Avatar
Rodrigo Torres
Best Answer

I also face the same problem! Did you find the solution? Can you share with us?

Thanks.

2
Avatar
Discard
Avatar
Marco Villagrana Escobedo
Best Answer

I solve this problem overriding signup_url method. 

Requisite: you have to assign a specific website to the partner (linked to portal user).

Original:

def _get_signup_url_for_action(self, url=None, action=None, view_type=None, menu_id=None, res_id=None, model=None):

...

signup_url = "/web/%s?%s" % (route, werkzeug.urls.url_encode(query))
if not self.env.context.get('relative_url'):
signup_url = werkzeug.urls.url_join(base_url, signup_url)
res[partner.id] = signup_url

return res

My code:

signup_url = "/web/%s?%s" % (route, werkzeug.urls.url_encode(query))
if not self.env.context.get('relative_url'):
# this three lines make the magic, we ask if the contact has a specific website assigned,

# so we use partner_id.website_id.domain instead base_url from database parameters.

if partner.website_id:
signup_url = werkzeug.urls.url_join(partner.website_id.domain, signup_url)
else:

signup_url = werkzeug.urls.url_join(base_url, signup_url)
res[partner.id] = signup_url

return res


1
Avatar
Discard
Avatar
Jozef Slivka
Best Answer

same here..

0
Avatar
Discard
Marco Villagrana Escobedo

check my answer above ;) (March 18th 2023)

César

Gracias Marco.

 

Podemos hablar. Estamos buscando un desarrollador de odoo.

 

Saludos.

 

César López

leanspots

 

From: Marco Villagrana Escobedo <notifications@mail.odoo.com>
Date: Sunday, 19 March 2023 at 03:28
To: César <cesar@leanspots.com>
Subject: Re: web.base.url and Multi-sites

check my answer above ;) (March 18th 2023) ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​ ͏ ​

Odoo Inc.


Ver Mensaje del foro

  

web.base.url and Multi-sites

  


check my answer above ;) (March 18th 2023)

--
Marco Villagrana Escobedo


Odoo Inc.

+1 650-691-3277 | info@odoo.com | https://www.odoo.com

Con tecnología de Odoo

Avatar
César
Best Answer

Same problem here!

0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Backend and frontend on distinct domains (odoo 14)
domain ecommerce multisite v14
Avatar
0
Sep 22
2328
Multi-Company User Company Domain Solved
domain parameters url multicompany website
Avatar
Avatar
Avatar
2
Feb 24
6074
naked domain set up Solved
domain
Avatar
Avatar
Avatar
Avatar
3
Jul 25
6613
Domain name Request
domain
Avatar
0
May 25
1800
Payment Status Solved
payment
Avatar
Avatar
Avatar
Avatar
3
Sep 25
10855
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now