Sari la conținut
Odoo Meniu
  • Autentificare
  • Try it free
  • Aplicații
    Finanțe
    • Contabilitate
    • Facturare
    • Cheltuieli
    • Spreadsheet (BI)
    • Documente
    • Semn
    Vânzări
    • CRM
    • Vânzări
    • POS Shop
    • POS Restaurant
    • Abonamente
    • Închiriere
    Site-uri web
    • Constructor de site-uri
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Lanț Aprovizionare
    • Inventar
    • Producție
    • PLM
    • Achiziție
    • Maintenance
    • Calitate
    Resurse Umane
    • Angajați
    • Recrutare
    • Time Off
    • Evaluări
    • Referințe
    • Flotă
    Marketing
    • Social Marketing
    • Marketing prin email
    • SMS Marketing
    • Evenimente
    • Automatizare marketing
    • Sondaje
    Servicii
    • Proiect
    • Foi de pontaj
    • Servicii de teren
    • Centru de asistență
    • Planificare
    • Programări
    Productivitate
    • Discuss
    • Artificial Intelligence
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Aplicații Terțe Odoo Studio Platforma Odoo Cloud
  • Industrii
    Retail
    • Book Store
    • Magazin de îmbrăcăminte
    • Magazin de Mobilă
    • Magazin alimentar
    • Magazin de materiale de construcții
    • Magazin de jucării
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Distribuitor de băuturi
    • Hotel
    Proprietate imobiliara
    • Real Estate Agency
    • Firmă de Arhitectură
    • Construcție
    • Property Management
    • Grădinărit
    • Asociația Proprietarilor de Proprietăți
    Consultanta
    • Firma de Contabilitate
    • Partener Odoo
    • Agenție de marketing
    • Law firm
    • Atragere de talente
    • Audit & Certification
    Producție
    • Textil
    • Metal
    • Mobilier
    • Mâncare
    • Brewery
    • Cadouri corporate
    Health & Fitness
    • Club Sportiv
    • Magazin de ochelari
    • Centru de Fitness
    • Wellness Practitioners
    • Farmacie
    • Salon de coafură
    Trades
    • Handyman
    • IT Hardware and Support
    • Asigurare socială de stat
    • Cizmar
    • Servicii de curățenie
    • HVAC Services
    Altele
    • Organizație nonprofit
    • Agenție de Mediu
    • Închiriere panouri publicitare
    • Fotografie
    • Închiriere biciclete
    • Asigurare socială
    Browse all Industries
  • Comunitate
    Învăță
    • Tutorials
    • Documentație
    • Certificări
    • Instruire
    • Blog
    • Podcast
    Empower Education
    • Program Educațional
    • Scale Up! Business Game
    • Visit Odoo
    Obține Software-ul
    • Descărcare
    • Compară Edițiile
    • Lansări
    Colaborați
    • Github
    • Forum
    • Evenimente
    • Translations
    • Devino Partener
    • Services for Partners
    • Înregistrează-ți Firma de Contabilitate
    Obține Servicii
    • Găsește un Partener
    • Găsiți un contabil
    • Meet an advisor
    • Servicii de Implementare
    • Referințe ale clienților
    • Suport
    • Actualizări
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Obține un demo
  • Prețuri
  • Ajutor
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Toate postările Oameni Insigne
Etichete (Vezi tot)
odoo accounting v14 pos v15
Despre acest forum
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Toate postările Oameni Insigne
Etichete (Vezi tot)
odoo accounting v14 pos v15
Despre acest forum
Suport

[✅ SOLVED] How to extend a XML search filter view and add an additional filter ?

Abonare

Primiți o notificare când există activitate la acestă postare

Această întrebare a fost marcată
filtersearchviewxmlviewv18
1 Răspunde
5313 Vizualizări
Imagine profil
AdaLabs Ltd

Hi,

our aim is to extend a XML search filter view and add an additional filter.


This is the very first step we want to achieve. Then we will enhance our search filter domain by using a computed, searchable and not stored field. Finally, we will make the filter to be a default filter for users of a specific group. This bigger picture context is the reason why we want to achieve our aim this particular way.


Our Odoo module technical name is called al_hr_holidays, and inherits from the Time Off Odoo app, which technical name is hr_holidays.


From the code below, our module implements a view that inherits from the hr_holidays.view_hr_holidays_filter view [1] and add a very simple filter domain [2] after the existing department filter.


    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
       <record id="al_hr_holidays.al_view_hr_holidays_filter" model="ir.ui.view">
          <field name="name">al.hr.holidays.filter</field>
          <field name="model">hr.leave</field>
          <field name="mode">primary</field>
          <field name="priority">1</field>
          <field name="inherit_id" ref="hr_holidays.view_hr_holidays_filter"/>
          <field name="arch" type="xml">
               <xpath expr="//filter[@name='department']" position="after">
                <filter name="additional_filter"
                        string="Additional Filter"
                        domain="[('state', '=', 'confirm')]"/>
             </xpath>
          </field>
       </record>
    </odoo>


However, the additional_filter filter is not rendered in the search filter, even after making sure that:


  • The al_hr_holidays module has been updated
  • The External ID of the view we are inheriting is valid
  • The XPath expression is valid
  • There is no error in the Odoo log
  • The browser cache has been cleared


Any hints on how to fix this issue? also present in Odoo 18 enterprise


[1] hr_holidays.view_hr_holidays_filter view, line 38 

addons/hr_holidays/views/hr_leave_views.xml


[2] The filter selects the leaves that are in the confirm state

0
Imagine profil
Abandonează
Ray Carnes (ray)

You can modify/extend the Parent View with mode=primary. This creates a brand new View. In order to use this View you need to reference it somewhere in Odoo. Without referencing it, it will never be used.

AdaLabs Ltd
Autor

(edited comment)
Thanks Ray for your 2 amazing clarifications

Two way to fix the issue:

1. (recommended) Completely remove the 'mode' field, as it is not needed in our context.
2. Change the value of the 'mode' field from 'primary' to 'extension'

The documentation on the mode field is available here https://www.odoo.com/documentation/18.0/developer/reference/user_interface/view_records.html

Care should be taken when we copy an example from outside. Before reusing it, we should carefully understand the meaning of each field.

So we would use 'primary' mode for a new view that would however be based on another view. In this case, reference of the new view should be used to render the new content. That was not the case here, this is why the 'additional_filter' was not rendered in the parent view.

Imagine profil
Ray Carnes (ray)
Cel mai bun răspuns

MODE. 

PRIMARY means you are making a NEW View and need to define where this new View is used or it will never be used. 

It should be INHERIT if you want your change to be applied to an EXISTING View. 

0
Imagine profil
Abandonează
Îți place discuția? Nu doar citi, alătură-te!

Creează-ți un cont astăzi pentru a beneficia de funcții exclusive și a interacționa cu minunata noastră comunitate!

Înscrie-te
Postări similare Răspunsuri Vizualizări Activitate
Python: Retrieving filtered records Rezolvat
filter python v18
Imagine profil
Imagine profil
Imagine profil
3
iul. 25
3093
Suggestions for global filtering data by company?
filter searchview odoo10
Imagine profil
Imagine profil
1
oct. 22
5992
Why does Product search-view not show all products? Rezolvat
filter product searchview
Imagine profil
Imagine profil
Imagine profil
Imagine profil
Imagine profil
7
mar. 17
15751
Problem with date filter BETWEEN two dates
filter date between v18
Imagine profil
Imagine profil
Imagine profil
2
mai 25
3124
Search Bar Filter Customization
filter xml searchview searchbar
Imagine profil
0
nov. 24
1978
Comunitate
  • Tutorials
  • Documentație
  • Forum
Open Source
  • Descărcare
  • Github
  • Runbot
  • Translations
Servicii
  • Hosting Odoo.sh
  • Suport
  • Actualizare
  • Custom Developments
  • Educație
  • Găsiți un contabil
  • Găsește un Partener
  • Devino Partener
Despre Noi
  • Compania noastră
  • Active de marcă
  • Contactați-ne
  • Locuri de muncă
  • Evenimente
  • Podcast
  • Blog
  • Clienți
  • Aspecte juridice • Confidențialitate
  • Securitate
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo este o suită de aplicații de afaceri open source care acoperă toate nevoile companiei dvs.: CRM, comerț electronic, contabilitate, inventar, punct de vânzare, management de proiect etc.

Propunerea de valoare unică a Odoo este să fie în același timp foarte ușor de utilizat și complet integrat.

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