Skip to Content
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
    • Aprobări
    • 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
    • Estate Managament
    • 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

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

  • CRM
  • e-Commerce
  • Contabilitate
  • Inventar
  • PoS
  • Proiect
  • MRP
All apps
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Suport

I unable to change the properties of some fields from within fields_view_get method

Abonare

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

Această întrebare a fost marcată
fields_view_get
3 Răspunsuri
10069 Vizualizări
Imagine profil
Tarek Mohamed Ibrahim

I needed to change some attributes of the 'stock.move' popup screen that opened when one need to add a product in a delivery order screen, I added the following code


    def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
        if context is None:
            context = {}
        res = super(stock_move, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
        if context.get('picking_type') and context['picking_type']=='out':
            doc = etree.XML(res['arch'])
            domain ="[('use_type','=','finished')]"
            nodes = doc.xpath("//field[@name='product_id']")
            for node in nodes:
                node.set('domain', domain)
                node.set('string', 'Finished Product')
            nodes2 = doc.xpath("//field[@name='prodlot_id']")
            for node in nodes2:
                node.set('readonly',"1")
                node.set('invisible',"1")
                node.set('string',"1==================") res['arch'] = etree.tostring(doc)

The first nodes loop worked ok, the second one, nodes2, didn't work, i.e, the field still available and editable. I added the last line for test and for surprise it worked. Any idea is appreciated


0
Imagine profil
Abandonează
Solanki Shamji

try node.set('readonly', '1')

Tarek Mohamed Ibrahim
Autor

No difference. Any more suggestions??

Imagine profil
Emipro Technologies Pvt. Ltd.
Cel mai bun răspuns

Hi,

You can make apply any modifier as like below.


from openerp.osv.orm import setup_modifiers
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if context is None:
context = {}
res = super(stock_move, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if context.get('picking_type') and context['picking_type']=='out':
doc = etree.XML(res['arch'])
domain ="[('use_type','=','finished')]"
nodes = doc.xpath("//field[@name='product_id']")
for node in nodes:
node.set('domain', domain)
node.set('string', 'Finished Product')
setup_modifiers(node, res['fields']['product_id'])
nodes2 = doc.xpath("//field[@name='prodlot_id']")
for node in nodes2:
node.set('readonly',"1")
node.set('invisible',"1")
node.set('string',"1==================")
setup_modifiers(node, res['fields']['prodlot_id'])
res['arch'] = etree.tostring(doc)


I hope it will help you a lot.

Thanks.

1
Imagine profil
Abandonează
Tarek Mohamed Ibrahim
Autor

Thank you 'Emipro' and thank to the site and the community that gave me this chance to get information by asking and receiving replies. You helped me before.

Tarek Mohamed Ibrahim
Autor

I tried your suggestion and it worked well. I now need to disable the 'split' button on the popup screen, I added this code nodes = doc.xpath("//button[@string='Split']") for node in nodes: node.set('readonly','1') I checked the 'res' dictionary to find how to apply this function and didn't get a clue, pls help me again. If this requires adding this in a new question pls post a comment to me to do so. Thx again

Emipro Technologies Pvt. Ltd.

It is good that we can manage this as new question. Thanks.

Tarek Mohamed Ibrahim
Autor

I posted the question https://www.odoo.com/nl_NL/forum/help-1/question/i-unable-to-change-the-readonly-proprety-of-a-button-from-within-fields-view-get-method-89309 pls check

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

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

Înscrie-te
Related Posts Răspunsuri Vizualizări Activitate
Field view get function
fields_view_get
Imagine profil
Imagine profil
1
dec. 17
8168
fields_view_get not being triggered Rezolvat
fields_view_get
Imagine profil
Imagine profil
2
nov. 16
7163
New API style for fields_view_get? Rezolvat
fields_view_get
Imagine profil
Imagine profil
1
sept. 15
5672
How to add a field from fields_view_get?
fields_view_get
Imagine profil
Imagine profil
1
iul. 15
9331
Hide a field within fields_view_get method
fields_view_get
Imagine profil
Imagine profil
1
mar. 15
6455
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 ภาษาไทย 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