Skip to Content
Odoo Menu
  • Prihlásiť sa
  • Vyskúšajte zadarmo
  • Aplikácie
    Financie
    • Účtovníctvo
    • Fakturácia
    • Výdavky
    • Tabuľka (BI)
    • Dokumenty
    • Podpis
    Predaj
    • CRM
    • Predaj
    • POS Shop
    • POS Restaurant
    • Manažment odberu
    • Požičovňa
    Webstránky
    • Tvorca webstránok
    • eShop
    • Blog
    • Fórum
    • Živý chat
    • eLearning
    Supply Chain
    • Sklad
    • Výroba
    • Správa životného cyklu produktu
    • Nákup
    • Údržba
    • Manažment kvality
    Ľudské zdroje
    • Zamestnanci
    • Nábor zamestnancov
    • Voľné dni
    • Hodnotenia
    • Odporúčania
    • Vozový park
    Marketing
    • Marketing sociálnych sietí
    • Email marketing
    • SMS marketing
    • Eventy
    • Marketingová automatizácia
    • Prieskumy
    Služby
    • Projektové riadenie
    • Pracovné výkazy
    • Práca v teréne
    • Helpdesk
    • Plánovanie
    • Schôdzky
    Produktivita
    • Tímová komunikácia
    • Schvalovania
    • IoT
    • VoIP
    • Znalosti
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Priemyselné odvetvia
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Reštaurácia
    • Fast Food
    • Guest House
    • Beverage distributor
    • Hotel
    Reality
    • Real Estate Agency
    • Architecture Firm
    • Konštrukcia
    • Estate Managament
    • Gardening
    • Property Owner Association
    Poradenstvo
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Výroba
    • Textile
    • Metal
    • Furnitures
    • Jedlo
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware and Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Iní
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Komunita
    Vzdelávanie
    • Tutoriály
    • Dokumentácia
    • Certifikácie
    • Školenie
    • Blog
    • Podcast
    Empower Education
    • Vzdelávací program
    • Scale Up! Business Game
    • Visit Odoo
    Softvér
    • Stiahnuť
    • Porovnanie Community a Enterprise vierzie
    • Releases
    Spolupráca
    • Github
    • Fórum
    • Eventy
    • Preklady
    • Staň sa partnerom
    • Services for Partners
    • Register your Accounting Firm
    Služby
    • Nájdite partnera
    • Nájdite účtovníka
    • Meet an advisor
    • Implementation Services
    • Zákaznícke referencie
    • Podpora
    • Upgrades
    ​Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Získajte demo
  • Cenník
  • Pomoc

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

  • CRM
  • e-Commerce
  • Účtovníctvo
  • Sklady
  • PoS
  • Projektové riadenie
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tagy (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tagy (View all)
odoo accounting v14 pos v15
About this forum
Pomoc

how does it worked controller in odoo 17

Odoberať

Get notified when there's activity on this post

This question has been flagged
mvcodoo
2 Replies
3875 Zobrazenia
Avatar
admin

when i perform any action in odoo then in backened which addons file is used and which method and which view code is execute.

  

when i click on new button on project module then in backened which controller is worked , which method is execute.

0
Avatar
Zrušiť
Avatar
Sujata
Best Answer

Hello,

When you perform an action in Odoo, like clicking the New button in the Project module, Odoo triggers a flow involving the frontend (views) and backend (methods).

Frontend: Views and Actions

When you click the button, Odoo checks the view (form or list) that you're interacting with. In this case, the New button usually opens a form view to create a new project. You can use Developer Mode to inspect the view and understand which action is being triggered.

Backend: Methods and Models

Once the button is clicked, Odoo calls a method in the backend. For example, the New button typically triggers the create method in the project.project model. This method is responsible for creating a new record and can be found in the models file at addons/project/models/project.py.

Controller (If Applicable)

If you're working with frontend-related features, a controller might be involved. Controllers handle web-based actions and are located in the controllers/ folder. However, for basic backend actions like creating a project, controllers are usually not involved.

How to Trace What's Happening
  • Use Developer Mode: You can track which view and action are triggered when performing any task.
  • Check Logs: Odoo logs (e.g., odoo.log) will show which methods are executed, giving you insights into the backend flow.
  • Branching and Conditional Logic: Sometimes, methods in the backend handle multiple conditions depending on user inputs or system state, which you can also trace through developer tools.

----------------------------------------------------------------------------------------------------

It’s understandable that the role of controllers in Odoo's MVC (Model-View-Controller) structure can be confusing, as Odoo doesn't always follow the traditional MVC pattern, especially when it comes to backend operations. Let me clarify this for you.

Odoo's MVC Structure:
  1. Model (M):
    • This represents the data layer in Odoo. It deals with creating, updating, deleting records (like creating projects, adding tasks, etc.). Models are defined in the models folder and interact with the database.
    • Example: The project.project and project.task models manage the logic for creating and manipulating projects and tasks.
  2. View (V):
    • Views in Odoo define how data is presented to the user. They are usually form views, tree views, kanban views, etc., and are defined in XML files. This is how Odoo allows users to interact with models.
    • Example: When you open a project form or task view, you are interacting with Odoo views.
  3. Controller (C):
    • In Odoo, controllers are primarily used for handling web requests, API calls, and frontend operations (e.g., website, eCommerce). Controllers handle HTTP requests and usually reside in the controllers folder.
    • In the backend, when you perform operations like creating projects, adding or deleting tasks, controllers are generally not involved. These actions are managed directly by the models and triggered by views (through actions, buttons, etc.).
    • Controllers are involved when dealing with web requests, such as in the website module or REST API calls, but not for regular backend data manipulation (e.g., project and task management).
How it Works in Your Case (Projects and Tasks in Backend):
  • Creating a project or task in the backend directly interacts with the model (project.project or project.task), which processes the data and stores it in the database.
  • Deleting a task is handled in a similar way by the model's unlink method.
  • No controller is involved because you are not dealing with a web request. Instead, the model handles all the business logic and database operations.
When Are Controllers Used?
  • Frontend Operations: For handling web page interactions or requests from users via the website or portal (e.g., submitting forms on a website).
  • REST API: When exposing API endpoints or custom routes that interact with the Odoo backend.
  • Web Clients: If your app requires custom logic that needs to be triggered via HTTP requests, then you would define a controller.
Example of Odoo Project App Flow:
  • Create Project: You create a project from the form view. The request goes through the view and interacts directly with the project.project model.
  • Add Tasks: When you add tasks, the action is processed directly by the project.task model.
  • Delete Tasks: Deleting tasks uses the model’s unlink method, and no controller is involved unless it's a frontend request.

Let me know, if it helps :)

2
Avatar
Zrušiť
Avatar
admin
Autor Best Answer

Hi, Thank you for the reply. I got some inputs. When I studied online about how MVC working in Odoo, I am getting different answers and little bit confused. Specifically about controllers. For example, 

In the back end, I am creating projects, adding tasks and deleting one or two tasks. In this case also controllers not involved ? Please clarify. For example, The models folder is not included any code related controller according to Odoo MVC ? for Project App

0
Avatar
Zrušiť
Sujata

Hello, please refer to my answer again. I have added an explanation of how the MVC structure works with reference to your question after the separator.

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

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

Registrácia
Related Posts Replies Zobrazenia Aktivita
How does the Controller part of MVC concepts applies to Odoo?
mvc odoo
Avatar
Avatar
1
okt 15
5170
How Odoo Help Businesses??
odoo
Avatar
0
dec 25
166
Odoo Studio Many2one field not appearing in automations
odoo
Avatar
Avatar
1
dec 25
352
SOC 1 Report
odoo
Avatar
Avatar
2
nov 25
439
邮箱无法正常使用
odoo
Avatar
Avatar
1
nov 25
2366
Komunita
  • Tutoriály
  • Dokumentácia
  • Fórum
Open Source
  • Stiahnuť
  • Github
  • Runbot
  • Preklady
Služby
  • Odoo.sh hosting
  • Podpora
  • Vyššia verzia
  • Custom Developments
  • Vzdelávanie
  • Nájdite účtovníka
  • Nájdite partnera
  • Staň sa partnerom
O nás
  • Naša spoločnosť
  • Majetok značky
  • Kontaktujte nás
  • Pracovné ponuky
  • Eventy
  • Podcast
  • Blog
  • Zákazníci
  • Právne dokumenty • Súkromie
  • Bezpečnosť
الْعَرَبيّة 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 je sada podnikových aplikácií s otvoreným zdrojovým kódom, ktoré pokrývajú všetky potreby vašej spoločnosti: CRM, e-shop, účtovníctvo, skladové hospodárstvo, miesto predaja, projektový manažment atď.

Odoo prináša vysokú pridanú hodnotu v jednoduchom použití a súčasne plne integrovanými biznis aplikáciami.

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