Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Aktuelle »

Dieser Artikel beschreibt, wie man bestimmte Felder bei einem Modul mit Defaultwerten versehen kann. Nachfolgend wird eine Methode verwendet, welche die Defaultwerte durch eine weitere .xml-Datei setzt. Diese Methode wird an dem Modul eq_references beispielhaft beschrieben.

Um einen genaueren Überblick über die verwendeten Felder zu bekommen, wird nun zuallererst an einem Code-Snippet der .py Datei aufgezeigt, wie die Felder eq_ref_speciality_label, eq_ref_difference_label und eq_ref_customer_benefit_label definiert wurden. Hierbei fällt auf, dass die einzelnen Felder nicht wie üblich schon hier mit Defaultwerten versehen sind. Zum Beispiel folgendermaßen:

eq_ref_speciality_label  = fields.Char(string="Speciality [eq_references]",required=False, default="mein Defaultwert")

 

from openerp import models, fields, api, _
import requests
from openerp.osv import osv

class eq_website_customerportal_config(models.TransientModel):
    _name = 'eq.website.customerportal.config'
    _inherit = 'eq.website.customerportal.config'
    
    eq_ref_speciality_label  = fields.Char(string="Speciality [eq_references]",required=False)
    eq_ref_difference_label = fields.Char(string="Difference [eq_references]",required=False)
    eq_ref_customer_benefit_label = fields.Char(string="Customer Benefit [eq_references]",required=False)

Das Setzen der Defaultwerte geschieht in einer separaten .xml-Datei (bei unserem Modul mit der Betitelung set_config_defaults.xml), welche sich in einem Unterordner "data" des Moduls eq_references befindet. Die verschiedenen Records der .xml-Datei sind wie folgt aufgebaut:

  • das entsprechende Model: hier ir.config_paramater
  • die entsprechende id des Records
  • den Key des Feldes: hier zum Beispiel eq.ref.speciality.label
  • und zum Schluss den standardgemäß-gesetzten Defaultwert: hier Spezialgebiet

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
 	<record model="ir.config_parameter" id="eq_ref_speciality">
            <field name="key">eq.ref.speciality.label</field>
            <field name="value">Spezialgebiet</field>
    </record>
     
     <record model="ir.config_parameter" id="eq_ref_difference">
            <field name="key">eq.ref.difference.label</field>
            <field name="value">Der Unterschied</field>
     </record>
         
     <record model="ir.config_parameter" id="eq_ref_benefit">
            <field name="key">eq.ref.customer.benefit.label</field>
            <field name="value">Ihr Kundenvorteil</field>
     </record>              
    </data>
</openerp>

Nach der Beschreibung der einzelnen Records in der set_config_defaults.xml werden nun die oben näher beschriebenen einzelnen Felder standardgemäß  mit den angegebenen Default-Werten versehen (siehe nachfolgende Abbildung).

Zusammenfassung:

Dieser Artikel soll eine Hilfe für Entwickler darstellen, die bei gewissen Feldern eines Moduls schon standardgemäß Default-Werte setzen möchten. Die oben beschriebene Lösungsmöglichkeit ist übersichtlicher, da man alle Defaultwerte in einer einzigen .xml-Datei pflegen kann.

 

 

Modul: eq_references

Version. 1.0.1

  • Keine Stichwörter