Nézet architektúrák

Általános architektúra

Egy nézet architektúráját az XML adatok határozzák meg, amelyeket a JavaScript keretrendszer értelmez.

A legtöbb nézet esetében van egy *.rng fájl, amely meghatározza az attribútumokat és a lehetséges architektúrákat. Néhány nézetet nem szabályoz ilyen fájl, vagy azért, mert HTML tartalmat fogadnak el, vagy teljesítmény okokból.

Megjegyzés

Az aktuális kontextus és a felhasználói hozzáférési jogok befolyásolhatják a nézet képességeit.

Python kifejezés

Amikor a csomópont attribútumait értékeljük, például a readonly módosítót, lehetőség van egy Python kifejezés megadására, amelyet egy olyan környezetben hajtanak végre, amely hozzáfér a következő változókhoz:

  • Az aktuális nézetben jelen lévő összes mező neve, amely tartalmazza az aktuális rekord értékét, kivéve a column_invisible a list view esetében; a relációs mezők ID-k listájaként vannak megadva;

  • Az aktuális rekord ID-ja;

  • parent: a konténerre hivatkozó rekord; csak a relational fields alnézeteiben;

  • context (dict): az aktuális nézet kontextusa;

  • uid (int): az aktuális felhasználó azonosítója;

  • today (str): az aktuális helyi dátum ÉÉÉÉ-HH-NN formátumban;

  • now (str): az aktuális helyi dátum és idő ÉÉÉÉ-HH-NN óó:pp:mm formátumban.

Example

<field name="field_a" readonly="True"/>
<field name="field_b" invisible="context.get('show_me') and field_a == 4"/>

Example

<field name="field_a"/>
<field name="x2m">
    <!-- sub-view -->
    <form>
        <field name="field_b" invisible="parent.field_a"/>
    </form>
</field>

Űrlap

Az űrlap nézetek egyetlen rekord adatait jelenítik meg. Ezek hagyományos HTML-ből állnak, kiegészítve további szemantikai és strukturális elemekkel.

Az űrlap nézetek gyökéreleme a form.

<form>
    ...
</form>

Gyökér attribútumok

Opcionális attribútumok adhatók a form gyökérelemhez a nézet testreszabásához.

string

A nézet címe. Csak akkor jelenik meg, ha olyan műveletet nyit meg, amelynek nincs neve, és amelynek célja new (párbeszédablak megnyitása).

követelmény

Opcionális

típus

str

alapértelmezett

''

create

Rekord létrehozásának letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

edit

Rekord szerkesztésének letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

duplicate

Rekord másolásának letiltása/engedélyezése a nézeten az Action legördülő menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

delete

Rekord törlésének letiltása/engedélyezése a nézeten a Action legördülő menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

js_class

A JavaScript komponens neve, amelyet a webkliens a form nézet helyett példányosít.

követelmény

Opcionális

típus

str

alapértelmezett

''

disable_autofocus

Az automatikus fókuszálás letiltása a nézet első mezőjén.

követelmény

Opcionális

típus

bool

alapértelmezett

False

Szemantikus komponensek

A szemantikus komponensek az Odoo rendszerhez kapcsolódnak és lehetővé teszik az interakciót vele.

A form nézetek a következő gyermek szemantikus komponenseket fogadják el: field, label, button, Csevegő widget, és Csatolmány előnézet widget.

A helyőrzők nagybetűkkel vannak jelölve.

field: mezőértékek megjelenítése

A field elem megjelenít (és lehetőleg szerkesztést is enged) egyetlen mezőt az aktuális rekordból.

Ugyanazon mező többszöri használata egy űrlap nézetben támogatott, és a mezők különböző értékeket kaphatnak az invisible és readonly attribútumokhoz. Ezek a mezők ugyanazokat az értékeket tartalmazhatják, de eltérően jeleníthetők meg. Azonban a viselkedés nem garantált, ha több mező létezik különböző értékekkel a required attribútumhoz.

<form>
    <field name="FIELD_NAME"/>
</form>

A field elem a következő attribútumokkal rendelkezhet:

name

A megjelenítendő mező neve.

követelmény

Kötelező

típus

str

widget

The widget used to represent the field. The selected widget can change the way the field is rendered and/or the way it can be edited. It refers to a Javascript implementation (an Owl component) registered to the fields registry.

követelmény

Opcionális

típus

str

id

A csomópont azonosítója. Hasznos, ha ugyanazon mező több előfordulása van a nézetben (lásd: label: mezőcímkék megjelenítése).

követelmény

Opcionális

típus

str

alapértelmezett

A mező neve

string

A mező címkéje.

követelmény

Opcionális

típus

str

alapértelmezett

A modell mezőjének string attribútuma

help

A mező vagy annak címkéje fölé húzva megjelenő eszköztipp.

követelmény

Opcionális

típus

str

alapértelmezett

''

options

A mező widgetjének konfigurációs beállításai (beleértve az alapértelmezett widgeteket), mint egy Python kifejezés, amely egy szótárra értékelődik ki.

Kapcsolati mezők esetén a következő opciók érhetők el: no_create, no_quick_create, no_open, és no_create_edit.

Example

<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'FIELD_NAME', 'no_quick_create': True}"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

readonly

A mező módosítható-e a felhasználó által (False) vagy csak olvasható (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Example

<field name="fname_a" readonly="True"/>
<field name="fname_b" readonly="name_a in [fname_b, parent.fname_d]"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

required

A mező üresen hagyható-e (False) vagy kötelezően kitöltendő (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Example

<field name="fname_a" required="True"/>
<field name="fname_b" required="fname_c != 3"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

domain

A szűrők, amelyeket alkalmazni kell a meglévő rekordok kiválasztásakor, mint egy Python kifejezés, amely egy domain-re értékelődik ki.

Example

<field name="fname" domain="[('fname_a', '=', parent.fname_b)]"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

[]

hatókör

Relációs mezők

context

A kontextus, amelyet a lehetséges értékek lekérésekor és rekordok létrehozásakor vagy keresésekor kell használni, mint egy Python kifejezés, amely egy dict-re értékelődik ki.

Example

<field name="fname" context="{
    'TYPE_view_ref': 'ADDON.MODEL_view_TYPE',
    'group_by': 'FIELD_NAME',
    'default_FIELD_NAME': ANY,
    'search_default_FIELD_NAME': True,
    'OTHER_BUSINESS_KEY': ANY,
  }"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

hatókör

Relációs mezők

nolabel

Hogy a mező címkéjét el kell-e rejteni.

követelmény

Opcionális

típus

bool

alapértelmezett

False

hatókör

Mezők, amelyek közvetlen gyermekei egy group elemnek

placeholder

A súgóüzenet, amelyet az üres mezőkön jelenít meg. Komplex űrlapokban helyettesítheti a mezőcímkéket. Azonban nem szabad adatpéldának lennie, mivel a felhasználók összetéveszthetik a helyőrző szöveget a kitöltött mezőkkel.

követelmény

Opcionális

típus

str

alapértelmezett

''

mode

The comma-separated list of display modes (view types) to use for the field’s linked records. Allowed modes are: list, form, kanban, and graph.

követelmény

Opcionális

típus

str

alapértelmezett

list

hatókör

One2many és Many2many mezők

class

Az HTML osztály, amelyet a generált elemre állítunk.

A stílus a Bootstrap keretrendszert és a UI ikonokat használja. Gyakori Odoo osztályok közé tartozik:

  • oe_inline: megakadályozza a mezők utáni szokásos sortörést, és korlátozza azok kiterjedését;

  • oe_left, oe_right: az elemet a megfelelő irányba úsztatja;

  • oe_read_only, oe_edit_only: csak a megfelelő űrlap módban jeleníti meg az elemet;

  • oe_avatar: for image fields, displays images as an „avatar” (max 90x90 square);

  • oe_stat_button: meghatározza a különleges megjelenítést, amely dinamikusan jelenít meg információkat, miközben kattintható egy művelet célzására.

Example

<field name="fname" class="oe_inline oe_left oe_avatar"/>

Example

<button type="object" name="ACTION" class="oe_stat_button" icon="FONT_AWESOME" help="HELP">
   <div class="o_field_widget o_stat_info">
      <span class="o_stat_value"><FIELD/></span>
      <span class="o_stat_text">TEXT</span>
   </div>
</button>
követelmény

Opcionális

típus

str

alapértelmezett

''

filename

A kapcsolódó mező neve, amely a fájl nevét biztosítja.

követelmény

Opcionális

típus

str

alapértelmezett

''

hatókör

Binary mezők

password

A mező tárol-e jelszót, és így az adatait nem szabad megjeleníteni.

követelmény

Opcionális

típus

bool

alapértelmezett

False

hatókör

Char mezők

kanban_view_ref

A mobil környezetben a rekordok kiválasztásakor használandó konkrét Kanban nézet rekord XMLID-je.

követelmény

Opcionális

típus

str

alapértelmezett

''

hatókör

Relációs mezők

default_focus

A mező fókuszált-e, amikor a nézet megnyílik. Csak egy mezőre alkalmazható egy nézetben.

követelmény

Opcionális

típus

bool

alapértelmezett

False

Megjegyzés

Relációs mezők csomópontok tartalmazhatnak specifikus alnézeteket.

Example

<field name="children_ids">
   <list>
      <field name="name"/>
   </list>
   <form>
      <field name="id"/>
      <field name="name"/>
   </form>
</field>

label: mezőcímkék megjelenítése

Amikor egy mező komponens nincs közvetlenül elhelyezve egy csoport belsejében, vagy amikor a nolabel attribútuma be van állítva, a mező címkéje nem jelenik meg automatikusan az értéke mellett. A label komponens a mező címkéjének megjelenítésére szolgáló manuális alternatíva.

<form>
    <div class="col col-md-auto">
        <label for="FIELD_NAME" string="LABEL"/>
        <div>
            <field name="FIELD_NAME" class="oe_inline"/>
        </div>
    </div>
</form>

A label elem a következő attribútumokkal rendelkezhet:

for

A címkéhez társított mezőre való hivatkozás. Lehet a mező neve vagy az azonosítója (az id attribútum, amely a field-en van beállítva).

Amikor ugyanazon mező több előfordulása van a nézetben, és több label komponens társul ezekhez a mező csomópontokhoz, ezeknek a címkéknek egyedi for attribútummal kell rendelkezniük; ebben az esetben a megfelelő mező csomópontok id attribútumára hivatkoznak.

követelmény

Kötelező

típus

str

string

A megjelenítendő címke.

követelmény

Opcionális

típus

str

alapértelmezett

A mező címkéje, amely a modell meződefiníciójából származik

class

Az HTML osztály, amelyet a generált elemre állítunk.

A stílus a Bootstrap keretrendszert és a UI ikonokat használja. Gyakori Odoo osztályok közé tartozik:

  • oe_inline: megakadályozza a mezők utáni szokásos sortörést, és korlátozza azok kiterjedését;

  • oe_left, oe_right: az elemet a megfelelő irányba úsztatja;

  • oe_read_only, oe_edit_only: csak a megfelelő űrlap módban jeleníti meg az elemet;

  • oe_avatar: for image fields, displays images as an „avatar” (max 90x90 square);

  • oe_stat_button: meghatározza a különleges megjelenítést, amely dinamikusan jelenít meg információkat, miközben kattintható egy művelet célzására.

Example

<field name="fname" class="oe_inline oe_left oe_avatar"/>

Example

<button type="object" name="ACTION" class="oe_stat_button" icon="FONT_AWESOME" help="HELP">
   <div class="o_field_widget o_stat_info">
      <span class="o_stat_value"><FIELD/></span>
      <span class="o_stat_text">TEXT</span>
   </div>
</button>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

button: műveleti gombok megjelenítése

<form>
    <button type="object" name="ACTION" string="LABEL"/>
    <button type="object" name="ACTION" icon="FONT_AWESOME"/>
</form>

A button elem a következő attribútumokkal rendelkezhet:

type

A gomb típusa, amely jelzi, hogyan viselkedik. Két különböző értéke lehet:

object

Egy metódus meghívása a nézet modelljén. A gomb name attribútuma az a metódus, amelyet a jelenlegi rekord ID-val és a jelenlegi context-tel hívnak meg.

action

Egy ir.actions műveleti rekord betöltése és végrehajtása. A gomb name attribútuma a betöltendő művelet XMLID-ja. A context kiterjesztésre kerül a nézet modelljével (mint active_model) és a jelenlegi rekorddal (mint active_id).

Example

<button type="object" name="action_create_new" string="Create document"/>
<button type="action" name="addon.action_create_view" string="Create and Edit"/>
követelmény

Kötelező, ha a special attribútum nincs beállítva

típus

str

name

A meghívandó metódus, ha a type object. Az akció betöltéséhez szükséges XMLID, ha a type action, akár nyers formátumban, akár %(XMLID)d formátumban.

követelmény

Opcionális

típus

str

alapértelmezett

''

string

A gomb szövege, ha nincs icon, különben az ikon alt szövege.

Example

<button type="object" name="action_create_new" string="Create document"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

icon

Az ikon, amelyet a gomb megjelenítéséhez használunk. Lásd a icons a referencia listáért.

Example

<button type="object" name="remove" icon="fa-trash"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

help

Az eszköztipp üzenet, amely az egérkurzorral való rámutatáskor jelenik meg.

Example

<button type="object" name="remove" icon="fa-trash" help="Revoke"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

context

A kontextus, amely a nézet kontextusába kerül egyesítésre a gomb hívásának végrehajtásakor, mint egy Python kifejezés, amely egy szótárra értékelődik ki.

Example

<button name="button_confirm" type="object" context="{'BUSINESS_KEY': ANY}" string="LABEL"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

class

Az HTML osztály, amelyet a generált elemre állítunk.

A stílus a Bootstrap keretrendszert és a UI ikonokat használja. Gyakori Odoo osztályok közé tartozik:

  • oe_inline: megakadályozza a mezők utáni szokásos sortörést, és korlátozza azok kiterjedését;

  • oe_left, oe_right: az elemet a megfelelő irányba úsztatja;

  • oe_read_only, oe_edit_only: csak a megfelelő űrlap módban jeleníti meg az elemet;

  • oe_avatar: for image fields, displays images as an „avatar” (max 90x90 square);

  • oe_stat_button: meghatározza a különleges megjelenítést, amely dinamikusan jelenít meg információkat, miközben kattintható egy művelet célzására.

Example

<field name="fname" class="oe_inline oe_left oe_avatar"/>

Example

<button type="object" name="ACTION" class="oe_stat_button" icon="FONT_AWESOME" help="HELP">
   <div class="o_field_widget o_stat_info">
      <span class="o_stat_value"><FIELD/></span>
      <span class="o_stat_text">TEXT</span>
   </div>
</button>
követelmény

Opcionális

típus

str

alapértelmezett

''

special

A gomb viselkedése a párbeszédablakban megnyitott űrlap nézetek esetén. Két különböző értéke lehet:

save

Mentse a rekordot és zárja be a párbeszédablakot.

cancel

Zárja be a párbeszédablakot mentés nélkül.

Example

<button special="cancel" icon="fa-trash"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

confirm

A megerősítő üzenet, amelyet meg kell jeleníteni (és a felhasználónak el kell fogadnia), mielőtt a gomb műveletét végrehajtaná.

Example

<button name="action_destroye_gate" string="Send the goa'uld" type="object" confirm="Do you confirm the action?"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

data-hotkey

A billentyűparancs (keyboard_shortcut, hasonlóan az accesskey-hez), amely a gombhoz van kötve. Akkor engedélyezett, ha az alt billentyűt a kiválasztott karakterrel együtt nyomják meg, vagy az shift billentyűvel és a kiválasztott karakterrel együtt, amikor shift+ van az érték elé helyezve.

Example

<button type="object" name="action_confirm" string="Confirm" data-hotkey="c"/>
<button type="object" name="action_tear" string="Tear the sheet" data-hotkey="shift+k"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

Csevegő widget

A chatter widget a kommunikációs és naplózási eszköz, amely lehetővé teszi, hogy közvetlenül egy rekordból (feladat, rendelés, számla, esemény, jegyzet…) e-mailezzünk kollégáknak és ügyfeleknek.

Egy div elemmel van hozzáadva, amelynek az osztálya oe_chatter, amikor a modell örökli a mail.thread mixint.

Example

<form>
    <sheet>
        ...
    </sheet>
    <div class="oe_chatter">
        <field name="message_follower_ids"/>
        <field name="activity_ids"/>
        <field name="message_ids" options="OPTIONS"/>
    </div>
</form>

Csatolmány előnézet widget

A csatolmány előnézet widget egy üres div elemmel van hozzáadva, amelynek az osztálya o_attachment_preview.

Example

<form>
    <sheet>
        ...
    </sheet>
    <div class="o_attachment_preview"/>
<form>

Strukturális komponensek

Structural components provide structure or „visual” features with little logic. They are used as elements or sets of elements in form views.

Űrlap nézetek a következő gyermek strukturális komponenseket fogadják el: group, sheet, notebook, notebook, newline, separator, header, footer, Gombok tárolója, és Cím tároló.

A helyőrzők nagybetűkkel vannak jelölve.

group: oszlop elrendezések meghatározása

A group elem az oszlop elrendezések meghatározására szolgál az űrlapokban. Alapértelmezés szerint a csoportok 2 oszlopot határoznak meg, és a csoportok legtöbb közvetlen gyermeke egyetlen oszlopot foglal el.

A field elemek, amelyek közvetlen gyermekei a csoportoknak, alapértelmezés szerint megjelenítenek egy label-t, és a címke, valamint maga a mező colspan értéke 1.

A gyermekelemek vízszintesen helyezkednek el (megpróbálják kitölteni a következő oszlopot, mielőtt sort váltanának).

 <form>
     <group>
         ...
     </group>
</form>

A group elem a következő attribútumokkal rendelkezhet:

string

A csoport számára megjelenített cím.

követelmény

Opcionális

típus

str

alapértelmezett

''

col

A group oszlopainak száma.

követelmény

Opcionális

típus

egész

alapértelmezett

2

colspan

A gyermekelem által elfoglalt oszlopok száma.

követelmény

Opcionális

típus

egész

alapértelmezett

1

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/form_group.svg
<group>
    <field name="a" string="custom"/>
    <field name="b"/>
</group>
<group string="title 1">
    <group string="title 2">
        <field name="c"/>
        <field name="d"/>
    </group>
    <group>
        <field name="e"/>
        <field name="f"/>
        <field name="g"/>
    </group>
</group>
<group col="12">
    <group colspan="8">
        <field name="h"/>
    </group>
    <group colspan="4">
        <field name="i"/>
    </group>
</group>

sheet: a layout reszponzívvá tétele

A sheet elem közvetlen gyermekeként használható a form gyökérelemnek egy keskenyebb és reszponzívabb űrlap elrendezéshez (középre igazított oldal, margó…). Általában group elemeket tartalmaz.

<form>
    <sheet>
        ...
    </sheet>
</form>

notebook és page: lapfüles szakaszok hozzáadása

A notebook elem egy lapfüles szakaszt határoz meg. Minden lapot egy page gyerek elem határoz meg.

A notebook elemet nem szabad group elemekbe helyezni.

<form>
    <notebook>
        <page string="LABEL">
            ...
        </page>
    </notebook>
</form>

A page elem a következő attribútumokkal rendelkezhet:

string

A lapfül címe.

követelmény

Opcionális

típus

szöveg

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/form_notebook.svg
<form>
    <notebook>
        <page string="Page1">
            ...
        </page>
        <page string="Page2">
            ...
        </page>
    </notebook>
</form>

newline: új csoport sorok indítása

A newline elemet a group elemekben használják, hogy a jelenlegi sort korán lezárják, és azonnal egy új sorra váltsanak, anélkül, hogy előtte kitöltenék a fennmaradó oszlopot.

<form>
    <group>
        ...
        <newline/>
        ...
    </group>
</form>

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/form_newline.svg
<form>
    <group string="Title 1">
        <group string="Title 1.1">...</group>
        <newline/>
        <group string="Title 1.2">...</group>
        <group string="Title 1.3">...</group>
    </group>
</form>

separator: vízszintes térköz hozzáadása

A separator elem függőleges térközt ad az elemek között egy csoporton belül.

<form>
    ...
    <separator/>
    ...
</form>

A <separator> elem a következő attribútumokkal rendelkezhet:

string

A cím mint szakaszcím.

követelmény

Opcionális

típus

szöveg

alapértelmezett

''

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/form_separator.svg
<form>
    <group>
        <FIELD/>
        <separator string="Title 1"/>
        <FIELD/>
        <group>
            <FIELD/>
            <separator string="Title 2"/>
            <FIELD/>
        </group>
        <group>
            <FIELD/>
            <FIELD/>
        </group>
    </group>
</form>

Javaslat

A separator elem használható vizuális elválasztás elérésére az azonos belső group elem elemei között, miközben azok vízszintesen igazodnak.

header: munkafolyamat gombok és egy állapot megjelenítése

A header elem a sheet elemmel kombinálva teljes szélességű helyet biztosít a lap felett, amelyet általában munkafolyamat button elemek és egy field elem állapot widgetként való megjelenítésére használnak.

<form>
    <header>
        <BUTTONS/>
    </header>
    <sheet>
        ...
    </sheet>
</form>

Example

<header>
    <button string="Reset" type="object" name="set_draft" invisible="state != 'done'"/>
    <field name="state" widget="statusbar" statusbar_visible="draft,posted" options="{'clickable': 1}"/>
</header>

Gombok tárolója

A button elemek tárolója létrehozható egy div elemmel, amelynek osztálya button_box.

<form>
    <div name="button_box">
        <BUTTONS/>
    </div>
<form>

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/form_button_box.svg
<form>
    <div name="button_box">
        <button type="edit" name="edit" icon="fa-edit" string="Button1"/>
        <button type="object" name="my_action" icon="fa-dollar">
            <field name="total_inv" widget="statinfo" string="Invoices"/>
        </button>
    </div>
<form>

Cím tároló

Egy cím mező elem konténer létrehozható egy div elemmel, amelynek osztálya oe_title.

<form>
    <sheet>
        <div class="oe_title">
            <h1><FIELD/></h1>
        </div>
    </sheet>
<form>

Beállítások

A beállítások nézetek a form nézet testreszabásai. Ezeket a beállítások központi helyen történő megjelenítésére használják. Abban különböznek az általános form nézetektől, hogy rendelkeznek keresősávval és oldalsávval.

Example

<app string="CRM" name="crm">
    <setting type="header" string="Foo">
        <field name="foo" title="Foo?."/>
        <button name="nameAction" type="object" string="Button"/>
    </setting>
    <block title="Title of group Bar">
        <setting help="this is bar" documentation="/applications/technical/web/settings/this_is_a_test.html">
            <field name="bar"/>
        </setting>
        <setting string="This is Big BAR" company_specific="1">
            <field name="bar"/>
        </setting>
    </block>
    <block title="Title of group Foo">
        <setting string="Personalize setting" help="this is full personalize setting">
            <div>This is a different setting</div>
        </setting>
    </block>
</app>

Komponensek

A beállítások nézetek elfogadják a mező, címke és gomb elemeket a form nézetekből, valamint három további gyermekelemet: app, block, és setting.

A helyőrzők nagybetűkkel vannak jelölve.

app: az alkalmazás deklarálása

Az app elemet az alkalmazás deklarálására használják a beállítások nézetben. Létrehoz egy bejegyzést az alkalmazás logójával a nézet oldalsávján. Kereséskor elválasztóként is működik.

<form>
    <app string="NAME" name="TECHNICAL_NAME">
    ...
    </app>
</form>

Az app elem a következő attribútumokkal rendelkezhet:

string

Az alkalmazás neve.

követelmény

Kötelező

típus

str

name

Az alkalmazás technikai neve (a modul neve).

követelmény

Kötelező

típus

str

logo

A logó relatív útvonala.

követelmény

Opcionális

típus

útvonal

alapértelmezett

Egy útvonal, amelyet a name attribútummal számítottunk ki: /name/static/description/icon.png

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

block: egy beállításcsoport deklarálása

A block elem egy beállításcsoport deklarálására szolgál. Ez a csoport rendelkezhet címmel és leírással.

 <form>
     <app string="NAME" name="TECHNICAL_NAME">
         ...
         <block title="TITLE">
             ...
         </block>
         ...
     </app>
</form>

A block elem a következő attribútumokkal rendelkezhet:

title

A beállításcsoport címe. Értékére lehet keresni.

követelmény

Opcionális

típus

str

alapértelmezett

''

help

A beállításcsoport leírása. Értékére lehet keresni.

követelmény

Opcionális

típus

str

alapértelmezett

''

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

setting: a beállítás deklarálása

A setting elem magának a beállításnak a deklarálására szolgál.

Az első field elem a beállításban fő mezőként van használva. Ha logikai mező, akkor a bal panelen helyezkedik el, egyébként a jobb panel tetején. A mező a beállítás címkéjének létrehozására is szolgál, ha nincs meghatározva string attribútum.

A setting elem további elemeket is tartalmazhat (pl. HTML). Ezek az elemek mind a jobb panelen jelennek meg.

<form>
    <app string="NAME" name="TECHNICAL_NAME">
        <block title="TITLE">
            ...
            <setting string="SETTING_NAME">
                ...
                <field name="FIELD_NAME"/>
                ...
            </setting>
            ...
        </block>
    </app>
</form>

A <setting> elem a következő attribútumokkal rendelkezhet:

type

By default, a setting is visually separated on two panels (left and right), and is used to edit a given field. By defining type="header", a special kind of setting is rendered instead. This setting is used to modify the scope of the other settings. For example, on the Website application, this setting is used to indicate to which website the other settings apply. The header setting is visually represented as a banner on top of the screen.

követelmény

Opcionális

típus

str

alapértelmezett

''

string

A beállítás címkéjeként használt szöveg.

követelmény

Opcionális

típus

str

alapértelmezett

Az első mező címkéje

title

A tooltipként használt szöveg.

követelmény

Opcionális

típus

str

alapértelmezett

''

help

A beállítás leírása. Ez a szöveg közvetlenül a beállítás címkéje alatt jelenik meg (a text-muted osztállyal).

követelmény

Opcionális

típus

str

alapértelmezett

''

company_dependent

A beállítás vállalatspecifikus-e. Ha be van állítva, egy ikon jelenik meg a beállítás címkéje mellett.

Csak a '1' értéket fogadja el.

követelmény

Opcionális

típus

str

alapértelmezett

''

documentation

A beállítás dokumentációjához vezető path. Ha be van állítva, egy kattintható ikon jelenik meg a beállítás címkéje mellett. Az útvonal lehet abszolút vagy relative path. Az utóbbi esetben az https://www.odoo.com/documentation/<version>-hez viszonyítva értendő.

követelmény

Opcionális

típus

útvonal_

alapértelmezett

''

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

Lista

The root element of list views is list (the previous name was tree).

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list.svg
<list>
    ...
</list>

Gyökér attribútumok

Optional attributes can be added to the root element list to customize the view.

string

A nézet címe. Csak akkor jelenik meg, ha olyan műveletet nyit meg, amelynek nincs neve, és amelynek célja new (párbeszédablak megnyitása).

követelmény

Opcionális

típus

str

alapértelmezett

''

create

Rekord létrehozásának letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

edit

Rekord szerkesztésének letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

delete

Rekord törlésének letiltása/engedélyezése a nézeten a Action legördülő menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

import

A rekord importálásának letiltása/engedélyezése az adatokból a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

export_xlsx

A rekord exportálásának letiltása/engedélyezése az adatokba a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

editable

A nézet rekordjainak helyben szerkeszthetővé tétele, és új rekordok létrehozásának engedélyezése a lista egy sorából. Két különböző értéke lehet:

top

Új rekordok a lista tetejéről jönnek létre.

bottom

Új rekordok a lista aljáról jönnek létre.

Az inline form nézet architektúrája a lista nézetből származik. A legtöbb attribútum, amely érvényes egy űrlap nézet mezőire és gombjaira, elfogadott a lista nézetekben is, bár lehet, hogy nincs jelentésük, ha a lista nézet nem szerkeszthető.

Fontos

Ez a viselkedés le van tiltva, ha az edit attribútum False értékre van állítva.

követelmény

Opcionális

típus

str

alapértelmezett

''

multi_edit

Aktiválja a többszörös szerkesztési funkciót, amely lehetővé teszi egy mező frissítését ugyanarra az értékre több rekord esetén egyszerre.

Csak a '1' értéket fogadja el.

követelmény

Opcionális

típus

str

alapértelmezett

''

open_form_view

Egy gomb megjelenítése minden sor végén, amely megnyitja a rekordot egy űrlap nézetben.

Nincs hatása, ha a nézet nem szerkeszthető.

követelmény

Opcionális

típus

bool

alapértelmezett

False

default_group_by

Annak a mezőnek a neve, amely alapján a rekordokat alapértelmezés szerint csoportosítani kell, ha nincs csoportosítás megadva az akció vagy az aktuális search által.

követelmény

Opcionális

típus

str

alapértelmezett

''

default_order

Egy vesszővel elválasztott mezőnevek listája, amely felülírja a modellen a _order attribútum által meghatározott rendezést.

Egy mező rendezési sorrendjének megfordításához utótagként adja hozzá a desc-t, szóközzel elválasztva.

Example

<list default_order="sequence,name desc">
    ...
</list>
követelmény

Opcionális

típus

str

alapértelmezett

''

decoration-<style>

Az a stílus, amelyet alkalmazni kell az egyező rekordok soraira, mint egy Python kifejezés, amely logikai értékre értékelődik ki.

<style>-t ki kell cserélni az alábbiak egyikére: bf (félkövér), it (dőlt), info, warning, danger, muted, primary, és success.

Example

<list decoration-danger="field_qty &gt; field_limit">
    ...
</list>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

limit

Az oldal alapértelmezett mérete. Szigorúan pozitívnak kell lennie.

követelmény

Opcionális

típus

egész

alapértelmezett

80 lista nézetekhez, 40 X2many listákhoz űrlap nézetekben

groups_limit

Az alapértelmezett csoportok száma egy oldalon, amikor a lista nézet csoportosítva van. Szigorúan pozitívnak kell lennie.

követelmény

Opcionális

típus

egész

alapértelmezett

80 lista nézetekhez, 40 X2many listákhoz űrlap nézetekben

expand

Legyen-e az első szintű csoportok alapértelmezetten megnyitva, amikor a lista nézet csoportosítva van.

Figyelem

Lehet lassú, a csoportok számától függően.

követelmény

Opcionális

típus

bool

alapértelmezett

False

sample

Legyen-e a nézet feltöltve egy mintarekord készlettel, ha a jelenlegi modellhez nem található rekord.

Ezek a hamis rekordok bizonyos mezőnevek/modellek esetén heuristikákat alkalmaznak. Például a display_name mező a res.users modellen mintaszemélyek neveivel lesz feltöltve, míg az email mező a [email protected] formátumban lesz.

A felhasználó nem tud ezekkel az adatokkal interakcióba lépni, és amint egy művelet végrehajtásra kerül (rekord létrehozása, oszlop hozzáadása, stb.), el lesznek vetve.

követelmény

Opcionális

típus

bool

alapértelmezett

False

Komponensek

A lista nézetek a következő gyermek elemeket fogadják el: field, button, groupby, header, control, and create.

A helyőrzők nagybetűkkel vannak jelölve.

field: mezőértékek megjelenítése

A field elem megjelenít (és esetleg szerkesztést is engedélyez) egyetlen mezőt az összes aktuális rekordból oszlopként.

Ugyanazon mező többszöri használata egy lista nézetben nem támogatott.

<list>
    <field name="FIELD_NAME"/>
</list>

A field elem a következő attribútumokkal rendelkezhet:

name

A megjelenítendő mező neve.

követelmény

Kötelező

típus

str

widget

The widget used to represent the field. The selected widget can change the way the field is rendered and/or the way it can be edited. It refers to a Javascript implementation (an Owl component) registered to the fields registry.

követelmény

Opcionális

típus

str

string

A mező címkéje.

követelmény

Opcionális

típus

str

alapértelmezett

A modell mezőjének string attribútuma

optional

Tegye a mező láthatóságát opcionálissá. A mező oszlopa elrejthető vagy megjeleníthető a nézet fejlécén található gomb segítségével.

Két különböző értéke lehet:

show

A mező alapértelmezés szerint látható.

hide

A mező alapértelmezés szerint rejtett.

Example

<field name="fname_a" optional="show"/>
<field name="fname_b" optional="hide"/>
követelmény

Opcionális

típus

str

readonly

A mező módosítható-e a felhasználó által (False) vagy csak olvasható (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Example

<field name="fname_a" readonly="True"/>
<field name="fname_b" readonly="name_a in [fname_b, parent.fname_d]"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

required

A mező üresen hagyható-e (False) vagy kötelezően kitöltendő (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Example

<field name="fname_a" required="True"/>
<field name="fname_b" required="fname_c != 3"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

column_invisible

Azt határozza meg, hogy az oszlop látható (False) vagy rejtett (True), mint egy Python kifejezés, amely logikai értékre értékelődik ki.

Ellentétben az invisible-lel, az egész oszlopra hatással van, és a részfa értékek nélkül kerül kiértékelésre.

Example

<field name="product_is_late" column_invisible="parent.has_late_products == False"/>
<button type="object" name="action_confirm" column_invisible="context.get('hide_confirm')"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

decoration-<style>

Az a stílus, amelyet az egyező rekordok mezőjére kell alkalmazni, mint egy Python kifejezés, amely logikai értékre értékelődik ki.

<style>-t ki kell cserélni az alábbiak egyikére: bf (félkövér), it (dőlt), info, warning, danger, muted, primary, és success.

Example

<field name="name" decoration-bf="1"/>
<field name="quantity" decoration-info="state == 'draft'"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

sum, avg

The aggregate to display at the bottom of the column. The aggregation is computed on only records that are currently displayed. The aggregation operation must match the corresponding field’s aggregator.

Example

<field name="sent" sum="Total" />
<field name="clicks_ratio" avg="Average"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

width

The list view always tries to optimize the available space among columns. For some field types, this is done by enforcing a width, depending on the field type. For instance, we know exactly the number of pixels required to display a date, so we can ensure that a column for a date field doesn’t take more space than what is strictly necessary, thus leaving the extra space for the other columns. However, the framework can’t guess the adequate width for every field types. For instance, char fields can be used to encode large values, or 3-letter country codes. In the latter case, one can set the width directly in the arch (e.g. width="40px"). It represents the width (always in pixels) required to render the values inside the cells. The width of the column will then be the sum of the given value and the cells» left and right paddings.

követelmény

Opcionális

típus

str

alapértelmezett

''

nolabel

Azt határozza meg, hogy a mező oszlopfejlécének üresen kell-e maradnia. Ha be van állítva, az oszlop nem lesz rendezhető.

Csak az '1' értéket fogadja el.

követelmény

Opcionális

típus

str

alapértelmezett

''

Megjegyzés

Amikor egy lista nézet csoportosítva van, a numerikus mezők összesítve jelennek meg minden csoportnál. Továbbá, ha egy csoportban túl sok rekord van, egy lapozó jelenik meg a csoport sorának jobb oldalán. Emiatt rossz gyakorlat, ha egy numerikus mező az utolsó oszlopban van, amikor a lista nézet olyan helyzetben van, hogy csoportosítható. Azonban ez nem jelent problémát az X2many mezők esetében egy űrlap nézetben, mivel ezek nem csoportosíthatók.

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list_field.svg
<list>
    <field name="name" string="My Custom Name"/>
    <field name="amount" sum="Total"/>
    <field name="currency_id"/>
    <field name="tax_id"/>
</list>

button: műveleti gombok megjelenítése

<list>
    <button type="object" name="ACTION" string="LABEL"/>
    <button type="object" name="ACTION" icon="FONT_AWESOME"/>
</list>

A button elem a következő attribútumokkal rendelkezhet:

type

A gomb típusa, amely jelzi, hogyan viselkedik. Két különböző értéke lehet:

object

Egy metódus meghívása a nézet modelljén. A gomb name attribútuma az a metódus, amelyet a jelenlegi rekord ID-val és a jelenlegi context-tel hívnak meg.

action

Egy ir.actions műveleti rekord betöltése és végrehajtása. A gomb name attribútuma a betöltendő művelet XMLID-ja. A context kiterjesztésre kerül a nézet modelljével (mint active_model) és a jelenlegi rekorddal (mint active_id).

Example

<button type="object" name="action_create_new" string="Create document"/>
<button type="action" name="addon.action_create_view" string="Create and Edit"/>
követelmény

Kötelező, ha a special attribútum nincs beállítva

típus

str

name

A meghívandó metódus, ha a type object. Az akció betöltéséhez szükséges XMLID, ha a type action, akár nyers formátumban, akár %(XMLID)d formátumban.

követelmény

Opcionális

típus

str

alapértelmezett

''

string

A gomb szövege, ha nincs icon, különben az ikon alt szövege.

Example

<button type="object" name="action_create_new" string="Create document"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

icon

Az ikon, amelyet a gomb megjelenítéséhez használunk. Lásd a icons a referencia listáért.

Example

<button type="object" name="remove" icon="fa-trash"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

help

Az eszköztipp üzenet, amely az egérkurzorral való rámutatáskor jelenik meg.

Example

<button type="object" name="remove" icon="fa-trash" help="Revoke"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

context

A kontextus, amely a nézet kontextusába kerül egyesítésre a gomb hívásának végrehajtásakor, mint egy Python kifejezés, amely egy szótárra értékelődik ki.

Example

<button name="button_confirm" type="object" context="{'BUSINESS_KEY': ANY}" string="LABEL"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

column_invisible

Azt határozza meg, hogy az oszlop látható (False) vagy rejtett (True), mint egy Python kifejezés, amely logikai értékre értékelődik ki.

Ellentétben az invisible-lel, az egész oszlopra hatással van, és a részfa értékek nélkül kerül kiértékelésre.

Example

<field name="product_is_late" column_invisible="parent.has_late_products == False"/>
<button type="object" name="action_confirm" column_invisible="context.get('hide_confirm')"/>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

class

Az HTML osztály, amelyet a generált elemre állítunk.

A stílus a Bootstrap keretrendszert és a UI ikonokat használja. Gyakori Odoo osztályok közé tartozik:

  • oe_inline: megakadályozza a mezők utáni szokásos sortörést, és korlátozza azok kiterjedését;

  • oe_left, oe_right: az elemet a megfelelő irányba úsztatja;

  • oe_read_only, oe_edit_only: csak a megfelelő űrlap módban jeleníti meg az elemet;

  • oe_avatar: for image fields, displays images as an „avatar” (max 90x90 square);

  • oe_stat_button: meghatározza a különleges megjelenítést, amely dinamikusan jelenít meg információkat, miközben kattintható egy művelet célzására.

Example

<field name="fname" class="oe_inline oe_left oe_avatar"/>

Example

<button type="object" name="ACTION" class="oe_stat_button" icon="FONT_AWESOME" help="HELP">
   <div class="o_field_widget o_stat_info">
      <span class="o_stat_value"><FIELD/></span>
      <span class="o_stat_text">TEXT</span>
   </div>
</button>
követelmény

Opcionális

típus

str

alapértelmezett

''

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list_button.svg
<list>
    <field name="name"/>
    <button type="edit" name="edit" icon="fa-edit" title="Edit"/>
    <button type="object" name="my_method" string="Button1" column_invisible="context.get('hide_button')" invisible="amount &gt; 3"/>
    <field name="amount"/>
    <field name="currency_id"/>
    <field name="tax_id"/>
</list>

groupby: csoportfejlécek meghatározása

A groupby elem a csoportfejlécek meghatározására szolgál button elemekkel, amikor rekordokat csoportosítanak Many2one mezőkön. Elfogad field elemeket is, amelyek módosítókhoz használhatók. Ezek a mezők így a Many2one társmodellhez tartoznak. Ezek az extra mezők kötegelt módon kerülnek lekérésre.

<list>
    ...
    <groupby name="FIELD_NAME">
        <BUTTONS/>
        <FIELDS/>
    </groupby>
</list>

A groupby elem a következő attribútumokkal rendelkezhet:

name

A Many2one mező neve, amelyet fejlécnek használnak.

A special button element with type="edit" can be defined to open the Many2one field’s form view.

követelmény

Kötelező

típus

str

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list_groupby.svg
<list>
    <field name="name"/>
    <field name="amount"/>
    <field name="currency"/>
    <field name="tax_id"/>

    <groupby name="partner_id">
        <button type="edit" name="edit" icon="fa-edit" title="Edit"/>
        <field name="email"/>
        <button type="object" name="my_method" string="Button1" invisible="email == '[email protected]'"/>
    </groupby>
</list>

Megjegyzés

A groupby elemben lévő mezők csak az érték lekérésére és tárolására szolgálnak, de soha nem jelennek meg.

header: munkafolyamat gombok megjelenítése

<list>
    <header>
        <BUTTONS/>
    </header>
    ...
</list>

A header elem a következő gyermek elemeket fogadja el:

button

A button elem lehetővé teszi gombok meghatározását a vezérlőpanelen. Ugyanaz az elem, mint a button element in list views, de egy további attribútumot fogad el, amikor egy header elemben helyezkedik el:

display

Tegye a gombot mindig elérhetővé, anélkül, hogy rekordokat kellene kiválasztani.

Csak az always értéket fogadja el.

Example

<header>
    <button name="toDoAlways" type="object" string="Always displayed" display="always"/>
    <button name="toDoSelection" type="object" string="Displayed if selection"/>
</header>
követelmény

Opcionális

típus

str

alapértelmezett

''

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list_header.svg
<list>
    <header>
        <button type="object" name="to_draft" string="Button1" invisible="context.get('hide_button')"/>
    </header>
    <field name="name"/>
    <field name="amount"/>
    <field name="currency"/>
    <field name="tax_id"/>
</list>

control & create: soron belüli létrehozó gombok hozzáadása

A control elem egy vezérlősort határoz meg, amely létrehozó gombokat fogad el. Minden létrehozó gomb egy create elemen keresztül van definiálva.

<list>
   <control>
       <create string="LABEL"/>
       <BUTTONS/>
    </control>
    ...
</list>

A control elem nem tartalmaz attribútumokat.

A create elem a következő attribútumokkal rendelkezhet:

string

A gomb szövege.

követelmény

Kötelező

típus

str

context

A kontextus, amely a nézet kontextusába kerül egyesítésre a gomb hívásának végrehajtásakor, mint egy Python kifejezés, amely egy szótárra értékelődik ki.

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/list_control.svg
<list>
    <field name="name"/>
    <field name="amount"/>
    <field name="currency"/>
    <field name="tax_id"/>
    <control>
        <create string="Add a item"/>
        <create string="Add a section" context="{'default_type': 'section'}"/>
        <create string="Add a note" context="{'default_type': 'note'}"/>
    </control>
</list>

Megjegyzés

A control elem használata csak akkor van értelme, ha a listanézet egy One2many vagy Many2many mezőben található. Ha bármilyen create elem van definiálva, az felülírja az alapértelmezett add a line gombot.

Komponensek

A keresési nézetek a következő gyermekelemeket fogadják el: field, filter, separator, group, és searchpanel.

A helyőrzők nagybetűkkel vannak jelölve.

field: szűrés mezőértékek alapján

A field elem felhasználó által megadott értékekkel határoz meg domaineket vagy kontextusokat. Amikor keresési domainek generálódnak, a mező domainek egymással és a szűrőkkel ÉS operátorral kapcsolódnak össze.

<search>
    <field name="FIELD_NAME"/>
</search>

A field elem a következő attribútumokkal rendelkezhet:

name

A mező neve, amelyen szűrni kell.

követelmény

Kötelező

típus

str

string

A mező címkéje.

követelmény

Opcionális

típus

str

alapértelmezett

A modell mezőjének string attribútuma

operator

Alapértelmezés szerint a mezők a következő formájú domaineket generálnak: [(name, operator, value)], ahol name a mező neve, és value a felhasználó által megadott érték, amely esetleg szűrt vagy átalakított (pl. a felhasználótól elvárt, hogy egy kiválasztási mező értékének címkéjét adja meg, nem magát az értéket).

Az operator attribútum lehetővé teszi az alapértelmezett operátor felülírását, amely a mező típusától függ (pl. = a float mezőknél, de ilike a char mezőknél és child_of a many2one mezőknél).

követelmény

Opcionális

típus

str

alapértelmezett

=

filter_domain

A mező keresési domainjeként használandó domain, mint egy Python kifejezés, amely egy domain-re értékelődik ki.

Használhatja a self változót a megadott érték beillesztésére az egyedi tartományba. Ez jelentősen rugalmasabb tartományok létrehozását teszi lehetővé, mint csak az operator attribútummal (pl. egyszerre több mezőn való keresés).

Ha mind az operator, mind a filter_domain attribútum meg van adva, a filter_domain élvez elsőbbséget.

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

[]

context

A kontextus, amelyet a nézet kontextusába kell egyesíteni, amelyre a keresési nézet irányul, mint egy Python kifejezés, amely egy szótárra értékelődik ki.

Tartalmazhat felhasználó által megadott értékeket, amelyek a self változó alatt érhetők el.

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

domain

A szűrők, amelyeket alkalmazni kell az automatikus kiegészítést lehetővé tevő mezők kiegészítési eredményeire (pl. Many2one).

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

[]

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/search_field.svg
<search>
    <field name="name" string="My Custom Name"/>
    <field name="amount"/>
    <field name="currency_id"/>
    <field name="ref" filter_domain="[('name', 'like', self)]"/>
</search>

filter: előre definiált szűrők létrehozása

A filter elem előre definiált szűrők létrehozására szolgál, amelyek a keresési nézetben kapcsolhatók. Lehetővé teszi adatok hozzáadását a keresési kontextushoz a keresési/szűrési adatok nézetéhez átadott kontextus, vagy új szakaszok hozzáfűzését a keresési szűrőhöz.

<search>
    <filter string="LABEL" domain="DOMAIN"/>
</search>

A filter elem a következő attribútumokkal rendelkezhet:

name

A szűrő technikai neve. Használható arra, hogy alapértelmezés szerint engedélyezze vagy mint egy öröklési horog.

követelmény

Kötelező

típus

str

string

A szűrő címkéje.

követelmény

Kötelező

típus

str

help

A szűrő fölé húzva az egérmutatót megjelenő eszköztipp.

követelmény

Opcionális

típus

str

alapértelmezett

''

domain

A domain, amelyet hozzá kell adni az akció domainjéhez a keresési domain részeként.

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

[]

date

A date vagy datetime mező neve, amelyre szűrni kell.

Ha használják, ez az attribútum egy szűrőkészletet hoz létre, amely elérhető a Szűrők menü al-menüjében. Az elérhető szűrők időfüggőek, de nem dinamikusak abban az értelemben, hogy domainjeiket a vezérlőpanel inicializálásakor értékelik ki.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date"/>

By default, these filters contain a dropdown with different sub-filters that allow you to filter based on months, quarters and years. Additionally, you can create custom sub-filters that allow filtering using domains. These custom filters must have the following attributes: name, string and domain.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date">
   <filter name="create_date_last_30_days" string="Last 30 Days" domain="[('create_date', '&gt;', datetime.datetime.combine(context_today() - relativedelta(days=30), datetime.time(23, 59, 59)).to_utc())]"/>
</filter>

Note that all custom filters defined this way are mutually exclusive with each other and with the other sub-filters.

követelmény

Opcionális

típus

str

alapértelmezett

''

start_month

The earliest month that will show up in the dropdown of a date filter, as an offset relative to the current month.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" start_month="-3"/>

If the current month is February, the earliest month selectable in the dropdown will be November.

követelmény

Opcionális

típus

egész

alapértelmezett

-2

hatókör

Nem üres date attribútummal rendelkező szűrők

end_month

The latest month that will show up in the dropdown of a date filter, as an offset relative to the current month.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" end_month="2"/>

If the current month is February, the latest month selectable in the dropdown will be March.

követelmény

Opcionális

típus

egész

alapértelmezett

0

hatókör

Nem üres date attribútummal rendelkező szűrők

start_year

The earliest year that will show up in the dropdown of a date filter, as an offset relative to the current year.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" start_year="-3"/>

If the current year is 2024, the earliest year selectable in the dropdown will be 2021.

követelmény

Opcionális

típus

egész

alapértelmezett

-2

hatókör

Nem üres date attribútummal rendelkező szűrők

end_year

The latest year that will show up in the dropdown of a date filter, as an offset relative to the current year.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" end_year="2"/>

If the current year is 2024, the latest year selectable in the dropdown will be 2025.

követelmény

Opcionális

típus

egész

alapértelmezett

0

hatókör

Nem üres date attribútummal rendelkező szűrők

default_period

The default period of the time-based filter (with a date attribute). It must be one of, or a comma-separated list of valid filter ids.

Valid filter ids include the following:

  • first_quarter, second_quarter, third_quarter and fourth_quarter.

  • One of month, month-x and month+x, where x is a non-zero integer value between start_month and end_month.

  • One of year, year-x and year+x, where x is a non-zero integer value between start_year and end_year.

  • The name of any custom filter defined within the filter, prepended with custom_.

A szűrőnek az alapértelmezett szűrőkészletben kell lennie, amely a nézet inicializálásakor aktiválódik.

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" default_period="year,month-1"/>

Example

<filter string="Creation Date" name="filter_create_date" date="create_date" default_period="custom_create_date_last_30_days">
   <filter name="create_date_last_30_days" string="Last 30 Days" domain="[('create_date', '&gt;', datetime.datetime.combine(context_today() - relativedelta(days=30), datetime.time(23, 59, 59)).to_utc())]"/>
</filter>
követelmény

Opcionális

típus

str

alapértelmezett

month, or the closest value to the current month if unavailable

hatókör

Nem üres date attribútummal rendelkező szűrők

invisible

Az elem látható-e (False) vagy rejtett (True), mint egy Python kifejezés, amely egy logikai értékre értékelődik ki.

Megjegyzés

A invisible attribútumnak két felhasználási módja van:

  • Használhatóság: a nézet túlterhelésének elkerülése és az olvashatóság megkönnyítése érdekében, a tartalomtól függően.

  • Technikai: egy mezőnek jelen kell lennie (az invisible elegendő) a nézetben, hogy egy Python kifejezésben használható legyen.

Example

<field name="fname_b" invisible="fname_c != 3 and fname_a == parent.fname_d"/>
<group invisible="fname_c != 4">
    <field name="fname_c"/>
    <field name="fname_d"/>
<group>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

False

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

context

A kontextus, amely az akció domainjébe kerül beolvasztásra a keresési domain generálásához

A kontextus kulcs group_by, amely egy mezővel van beállítva értékként, használható egy csoport meghatározására, amely elérhető a Csoportosítás menüben. Ha a mező date vagy datetime típusú, a szűrő egy al-menüt generál a Csoportosítás menüben a következő intervallum opciókkal: Év, Negyedév, Hónap, Hét, és Nap. Ha a szűrő az alapértelmezett szűrőkészletben van, amely a nézet inicializálásakor aktiválódik, a rekordok alapértelmezés szerint hónap szerint vannak csoportosítva. Ez megváltoztatható a date_field:interval szintaxis használatával.

Example

<filter string="Category" name="groupby_category" context="{'group_by': 'category_id'}"/>
<filter string="Creation Date" name="groupby_create_date" context="{'group_by': 'create_date:week'}"/>

Megjegyzés

A read_groups eredményei, amelyek egy mezőn alapuló csoportosítást tartalmaznak, befolyásolhatók a group_expand attribútum által, lehetővé téve az üres csoportok megjelenítését, amikor szükséges. További információért kérjük, tekintse meg a Field.

követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

{}

Figyelem

A szűrők sorozatai (anélkül, hogy nem szűrő elemek választanák el őket) befogadóan összetettként kezelendők: OR-ral lesznek összekomponálva a szokásos AND helyett.

Example

<filter domain="[('state', '=', 'draft')]"/>
<filter domain="[('state', '=', 'done')]"/>

Azok a rekordok jelennek meg, amelyek state mezője draft vagy done.

Example

<filter domain="[('state', '=', 'draft')]"/>
<separator/>
<filter domain="[('delay', '&lt;', 15)]"/>

Azok a rekordok jelennek meg, amelyek state mezője draft és delay mezője 15 alatti.

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/search_filter.svg
<search>
    <filter string="My Custom Name" domain="[('name', 'ilike', 'AAA')]"/>
    <filter string="My orders" domain="[('user_id', '=', uid)]"/>
    <filter string="Category" context="{'group_by': 'category_id'}"/>
</search>

separator: szűrőcsoportok elválasztása

A separator elem a filters csoportok elválasztására szolgál egyszerű keresési nézetekben. Összetettebb keresési nézetek esetén a group elem ajánlott.

<search>
    <FILTERS/>
    <separator/>
    <FILTERS/>
</search>

A separator elem nem vesz fel attribútumokat.

group: szűrőcsoportok elválasztása

A group elem a filters csoportok elválasztására szolgál zsúfolt keresési nézetekben. Egyszerűbb keresési nézetekben helyettesíthető a separator elemmel.

<search>
    <group>
        <FILTERS/>
    </group>
</search>

A group elem nem vesz fel attribútumokat.

searchpanel: keresőpanelek megjelenítése

A searchpanel elem egy keresőpanelt jelenít meg a több rekordos nézetek bal oldalán. Lehetővé teszi az adatok gyors szűrését a megadott mezők alapján.

<search>
    <searchpanel>
        <FIELDS/>
    </searchpanel>
</search>

A searchpanel elem csak field gyermekelemeket fogad el.

A field elem, amelyet a searchpanel elem gyermekelemeként használnak, a következő attribútumokkal rendelkezhet:

name

A mező neve, amelyen szűrni kell.

követelmény

Kötelező

típus

str

string

A mező címkéje.

követelmény

Opcionális

típus

str

alapértelmezett

A modell mezőjének string attribútuma

select

A mező viselkedése és megjelenítése. Két különböző értéket vehet fel:

one

Legfeljebb egy érték választható ki. Támogatott mezőtípusok: many2one és selection.

multi

Több érték is kiválasztható. Támogatott mezőtípusok: many2one, many2many és selection.

követelmény

Opcionális

típus

str

alapértelmezett

egy

groups

A felhasználói csoportok vesszővel elválasztott listája, akik számára az elem megjelenik. Azok a felhasználók, akik nem tartoznak legalább egy ilyen csoportba, nem láthatják az elemet. A csoportok elé negatív ! operátor is tehető, hogy kizárjuk őket.

Example

<field name="FIELD_NAME" groups="base.group_no_one,!base.group_multi_company"/>
követelmény

Opcionális

típus

str

alapértelmezett

''

icon

A mező ikonja.

követelmény

Opcionális

típus

str

alapértelmezett

''

color

A mező színe.

követelmény

Opcionális

típus

str

alapértelmezett

''

Amikor a field elem select=one attribútummal van beállítva, a következő további attribútumokkal rendelkezhet:

hierarchize

Hogy a gyermek kategóriák megjelenjenek-e a szülő kategóriájuk alatt, vagy ugyanazon a hierarchia szinten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

hatókör

Many2one mezők

Amikor a field elem select=multi attribútummal van beállítva, a következő további attribútumokkal rendelkezhet:

enable_counters

Hogy a rekord számlálók kiszámításra és megjelenítésre kerüljenek-e, ha nem nulla.

Javaslat

Ez az attribútum azért létezik, hogy elkerülje a teljesítmény befolyásolását. Egy másik módja a teljesítményproblémák kezelésének a search_panel_select_range és search_panel_select_multi_range metódusok felülírása.

követelmény

Opcionális

típus

bool

alapértelmezett

False

expand

Hogy a kategóriák és szűrők, amelyekhez nem tartoznak rekordok, megjelenjenek-e.

követelmény

Opcionális

típus

bool

alapértelmezett

False

limit

A mezőhöz lekérendő értékek maximális száma. Ha a limit elérve, nem jelennek meg értékek a keresőpanelen, és helyette egy hibaüzenet jelenik meg. Ha 0-ra van állítva, minden érték lekérdezésre kerül.

követelmény

Opcionális

típus

egész

alapértelmezett

200

domain

A feltételek, amelyeket a rekordoknak teljesíteniük kell.

Example

<searchpanel>
    <field name="department_id"/>
    <field name="manager_id" select="multi" domain="[('department_id', '=', department_id)]"/>
</searchpanel>
követelmény

Opcionális

típus

Python kifejezés

alapértelmezett

[]

groupby

Annak a mezőnévnek a neve, amely alapján az értékeket csoportosítani kell.

követelmény

Opcionális

típus

str

alapértelmezett

''

hatókör

Many2one és Many2many mezők

Keresési alapértelmezések

A keresési mezők és szűrők az akció context-jén keresztül konfigurálhatók search_default_name kulcsok használatával. Mezők esetén az értéknek a mezőhöz beállítandó értéknek kell lennie. Szűrők esetén logikai értéknek vagy számnak kell lennie.

Example

A foo, egy mező, és bar, egy szűrő esetén a következő akció kontextus foo-t keres acro-n és alapértelmezetten engedélyezi bar-t:

{
    'search_default_foo': 'acro',
    'search_default_bar': 1
}

Egy numerikus érték (1 és 99 között) használható az alapértelmezett groupby szűrők sorrendjének meghatározására.

Example

A foo és bar, két groupby szűrő esetén a következő akció kontextus először engedélyezi bar-t, majd foo-t.

{
    'search_default_foo': 2,
    'search_default_bar': 1
}

Kanban

Kanban views are used as a kanban board visualisation: they display records as „cards”, halfway between a list and a form view.

A rekordok oszlopokba csoportosíthatók a munkafolyamat vizualizációjához vagy manipulációjához (pl. feladatok vagy munkafolyamat-kezelés), vagy csoportosítatlanul (egyszerűen a rekordok megjelenítésére használva).

A Kanban nézetek gyökéreleme a kanban.

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/kanban.svg
<kanban>
    ...
</kanban>

Megjegyzés

A Kanban nézetek legfeljebb tíz oszlopot töltenek be és jelenítenek meg. Az ezt követő oszlopok zárva vannak, de a felhasználó által megnyithatók.

Gyökér attribútumok

Opcionális attribútumok adhatók a kanban gyökérelemhez a nézet testreszabásához.

string

A nézet címe. Csak akkor jelenik meg, ha olyan műveletet nyit meg, amelynek nincs neve, és amelynek célja new (párbeszédablak megnyitása).

követelmény

Opcionális

típus

str

alapértelmezett

''

create

Rekord létrehozásának letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

edit

Rekord szerkesztésének letiltása/engedélyezése a nézeten.

követelmény

Opcionális

típus

bool

alapértelmezett

True

delete

Rekord törlésének letiltása/engedélyezése a nézeten a Action legördülő menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

default_group_by

Annak a mezőnek a neve, amely alapján a rekordokat alapértelmezés szerint csoportosítani kell, ha nincs csoportosítás megadva az akció vagy az aktuális search által.

követelmény

Opcionális

típus

str

alapértelmezett

''

default_order

Egy vesszővel elválasztott mezőnevek listája, amely felülírja a modellen a _order attribútum által meghatározott rendezést.

Egy mező rendezési sorrendjének megfordításához utótagként adja hozzá a desc-t, szóközzel elválasztva.

Example

<list default_order="sequence,name desc">
    ...
</list>
követelmény

Opcionális

típus

str

alapértelmezett

''

class

Adjon hozzá HTML osztályokat a nézet gyökér HTML eleméhez.

követelmény

Opcionális

típus

str

alapértelmezett

''

examples

The key in the KanbanExamplesRegistry of the examples that can be browsed when creating a new column in the grouped kanban view.

követelmény

Opcionális

típus

str

alapértelmezett

''

group_create

Látható-e az Új oszlop hozzáadása sáv.

követelmény

Opcionális

típus

bool

alapértelmezett

True

group_delete

Törölhetők-e az oszlopok a fogaskerék menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

group_edit

Szerkeszthetők-e az oszlopok a fogaskerék menün keresztül.

követelmény

Opcionális

típus

bool

alapértelmezett

True

groups_draggable

Átrendezhetők-e az oszlopok.

követelmény

Opcionális

típus

bool

alapértelmezett

True

records_draggable

Húzhatók-e a rekordok, amikor a kanban nézet csoportosítva van.

követelmény

Opcionális

típus

bool

alapértelmezett

True

archivable

Annak meghatározása, hogy egy oszlophoz tartozó rekordok archiválhatók és visszaállíthatók-e, amikor az active mező meg van határozva a modellen.

követelmény

Opcionális

típus

bool

alapértelmezett

True

quick_create

Annak meghatározása, hogy lehetséges-e rekordokat létrehozni anélkül, hogy átváltanánk az űrlap nézetre.

követelmény

Opcionális

típus

bool

alapértelmezett

True, ha a kanban nézetet many2one, selection, char vagy boolean mezők szerint csoportosítják, egyébként False

quick_create_view

A form nézet hivatkozása, amely megnyílik, amikor a rekordok gyors létrehozását használjuk.

követelmény

Opcionális

típus

str

alapértelmezett

''

on_create

Az egyéni művelet, amelyet a Create gombra kattintva hívunk meg.

Ha 'quick_create' értékre van állítva, akkor a rekordok gyors létrehozását használjuk. Ha a gyors létrehozás le van tiltva, a szokásos létrehozási művelet kerül meghívásra.

követelmény

Opcionális

típus

str

alapértelmezett

''

can_open

By default, clicking on a kanban card opens the corresponding record in a form view. This behavior can be disabled by setting the attribute can_open to False.

követelmény

Opcionális

típus

bool

alapértelmezett

True

highlight_color

Name of the integer field used to color the left border of the kanban cards.

követelmény

Opcionális

típus

str

sample

Legyen-e a nézet feltöltve egy mintarekord készlettel, ha a jelenlegi modellhez nem található rekord.

Ezek a hamis rekordok bizonyos mezőnevek/modellek esetén heuristikákat alkalmaznak. Például a display_name mező a res.users modellen mintaszemélyek neveivel lesz feltöltve, míg az email mező a [email protected] formátumban lesz.

A felhasználó nem tud ezekkel az adatokkal interakcióba lépni, és amint egy művelet végrehajtásra kerül (rekord létrehozása, oszlop hozzáadása, stb.), el lesznek vetve.

követelmény

Opcionális

típus

bool

alapértelmezett

False

Komponensek

Kanban views accept the following children elements: templates, field, header, progressbar.

templates: kártyák struktúrájának meghatározása

The templates element is used to define the QWeb templates that structure the kanban cards.

The definition of a card’s structure can be split into multiple templates for clarity, but at least one root card template must be defined.

An additional template can be defined: menu. If defined, it is rendered inside a dropdown that can be toggled with a vertical ellipsis () on the top right of the card.

The templates are written in JavaScript QWeb.

<kanban>
   <templates>
      <t t-name="card">
         <field name="name"/>
      </t>
   </templates>
</kanban>

Figyelem

These are QWeb templates, not Owl templates, meaning that directives like t-on-click aren’t available.

Mezők

Inside those templates, the field element allows to render a field. It can have the following attributes:

name

A megjelenítendő mező neve.

követelmény

Kötelező

típus

str

widget

The widget used to represent the field. The selected widget can change the way the field is rendered and/or the way it can be edited. It refers to a Javascript implementation (an Owl component) registered to the fields registry.

követelmény

Opcionális

típus

str

By default, field nodes are replaced by a span containing their formatted value, unless the widget attribute is specified, in which case their rendering and behavior depends on the corresponding widget. The widget attribute can have different values including:

handle

Allows reordering records with a drag and drop, using the corresponding field as order.

kanban_color_picker

Allows editing a color (integer) field. Combined with the root attribute highlight_color, allows editing the color of the cards.

See the Field section to discover various widgets and their options.

Rendering Context

Kanban templates being rendered with the QWeb engine, they have a rendering context, a set of variables available in the templates, containing useful information and tools. Here’re the available variables:

record

An object with all the fields defined in the view. Each field has two attributes: value and raw_value. The former is formatted according to current user parameters, while the latter is the raw value (e.g. the id for a many2one field). This object is useful for instance, for using field values inside t-if conditions. For display purposes, we recommend using the <field> tag.

Example

<kanban>
   <templates>
      <field name="is_company"/>
      <t t-name="card">
         <field name="name"/>
         <field t-if="!record.is_company.raw_value" name="parent_id">
      </t>
   </templates>
</kanban>
widget

An object with 2 keys defining the available actions for the user:

  • editable: true if the user can edit records, false otherwise;

  • deletable: true if the user can delete records, false otherwise.

This is useful to conditionally display elements requiring specific access rights.

Example

<kanban>
   <templates>
      <t t-name="card">
         <field name="name"/>
      </t>
      <t t-name="menu">
         <a t-if="widget.deletable" role="menuitem" type="delete" class="dropdown-item">Delete</a>
      </t>
   </templates>
</kanban>
context

Az aktuális kontextus, amely vagy a kanban nézetet megnyitó műveletből, vagy az egy az egyhez vagy sok az egyhez mezőből származik, amely a kanban nézetet egy űrlap nézetbe ágyazza.

read_only_mode

Indicates that the view is readonly.

típus

bool

selection_mode

Whether the kanban view is opened when selecting a many2one or many2many field (in mobile environment).

típus

bool

luxon

The luxon object, allowing to manipulate date and datetime field values.

JSON

The Javascript JSON namespace object containing a parse method allowing to parse json field values into Javascript Objects.

Widgetek

The widget element allows to insert dynamically generated (in Javascript) html inside the cards. It has a mandatory name attribute, referring to a Javascript implementation (an Owl component) registered to the view_widgets registry.

See the Widget section to discover various widgets and their options.

Layouts

Several card layouts can be easily obtained using standard html elements and Bootstrap utility classes. By default, the card is a flexbox container with column direction.

Example

<kanban>
   <templates>
      <t t-name="card">
         <field class="fw-bold fs-5" name="display_name"/>
         <field class="text-muted" name="parent_id"/>
         <field name="tag_ids" widget="many2many_tags"/>
      </t>
   </templates>
</kanban>

The footer html element is styled to stick to the bottom of the card, and is as a flexbox container with row direction, allowing to easily display several fields on the same line.

Example

<kanban>
   <templates>
      <t t-name="card">
         <field class="fw-bold fs-5" name="display_name"/>
         <field class="text-muted" name="parent_id"/>
         <field name="tag_ids" widget="many2many_tags"/>
         <footer>
            <field name="priority" widget="priority"/> <!-- bottom left corner -->
            <field class="ms-auto" name="activity_ids" widget="kanban_activity"/> <!-- bottom right corner -->
         </footer>
      </t>
   </templates>
</kanban>

To display some content, like an image, on the side of the card, one can use aside and main html elements, with the flex-row classname on the card. The main node is a flexbox container like the card is when there’s no aside.

Example

<kanban>
   <templates>
      <t t-name="card" class="flex-row">
         <aside>
            <field name="avatar_128" widget="image" alt="Avatar"/>
         </aside>
         <main class="ms-2">
            <field class="fw-bold fs-5" name="display_name"/>
            <field class="text-muted" name="parent_id"/>
            <field name="tag_ids" widget="many2many_tags"/>
            <footer>
               <field name="priority" widget="priority"/>
               <field class="ms-auto" name="activity_ids" widget="kanban_activity"/>
            </footer>
         </main>
      </t>
   </templates>
</kanban>

Javaslat

The classname o_kanban_aside_full set on the aside element removes the padding so that the image spreads to the borders of the card.

field: declare more fields to fetch

The field element can also be used outside the kanban templates. In that case, it allows to declare fields that are not displayed in the card, but still need to be fetched, for instance because their value is used in a t-if condition.

Example

<kanban>
   <templates>
      <field name="is_company"/>
      <t t-name="card">
         <field name="name"/>
         <field t-if="!record.is_company.raw_value" name="parent_id">
      </t>
   </templates>
</kanban>

header: gombok megjelenítése a vezérlőpulton

A header elem egyéni gombok beillesztésére szolgál a vezérlőpulton.

<kanban>
   <header>
      ...
   </header>
   ...
</kanban>

A header elem csak button gyerek elemeket fogad el, hasonlóan a list views» button elemekhez.

A button elem, amely a header elem gyereke, a következő további attribútumokkal rendelkezhet:

display

A gomb megjelenítési módja. Két különböző értéket vehet fel:

display

A gomb csak akkor jelenik meg, ha néhány rekord ki van választva; a műveletük a kiválasztott rekordokra vonatkozik.

always

A gomb mindig megjelenik, még akkor is, ha nincs kiválasztva rekord.

Fontos

Csak az always megjelenítési mód érhető el, mert még nem lehetséges rekordokat kiválasztani egy kanban nézetben.

Example

<header>
    <button name="toDoAlways" type="object" string="Always displayed" display="always"/>
    <button name="toDoSelection" type="object" string="Displayed if selection"/>
</header>
követelmény

Opcionális

típus

str

alapértelmezett

display

progressbar: haladásjelző sávok megjelenítése az oszlopok tetején

The progressbar element is used to define a progress bar to display on top of kanban columns in grouped kanban views.

<kanban>
    <progressbar field="FIELD_NAME"/>
    ...
</kanban>

A progressbar elem a következő attribútumokkal rendelkezhet:

field

A mező neve, amely alapján a haladási sáv al-csoportjai alapulnak.

követelmény

Kötelező

típus

str

colors

A haladási sáv mezőértékeinek hozzárendelése a muted, success, warning és danger színértékekhez.

követelmény

Kötelező

típus

JSON

sum_field

A mező neve, amelyet a haladási sáv mellett megjelenő összegzéshez használnak. Ha nincs beállítva, akkor a rekordok teljes száma jelenik meg helyette.

követelmény

Opcionális

típus

str

alapértelmezett

''

Lehetséges szerkezet és megjelenítésének reprezentációja

../../../_images/kanban_progressbar.svg
<kanban>
    <progressbar field="activity_state"
                 colors="{'planned': 'success', 'today': 'warning', 'overdue': 'danger'}"
                 sum_field="expected_revenue"/>
    <templates>
        ...
    </templates>
</kanban>

QWeb

A QWeb nézetek standard QWeb sablonok sablonok egy nézet arch részében. Nincs specifikus gyökérelemük. Mivel a QWeb nézeteknek nincs specifikus gyökérelemük, típusukat kifejezetten meg kell adni (nem lehet a arch mező gyökéreleméből levezetni).

A QWeb nézeteknek két felhasználási esete van:

  • használhatók frontend sablonként, ebben az esetben sablon használható rövidítésként.

  • használhatók tényleges qweb nézetként (akcióban megnyitva), ebben az esetben rendes nézetként kell definiálni őket kifejezett type megadásával (nem lehet levezetni) és egy modellel.

A qweb-as-view főbb kiegészítései az alap qweb-as-template-hez képest:

  • a qweb-as-view különleges esettel rendelkezik egy <nav> elemre, amely a o_qweb_cp_buttons CSS osztályt viseli: tartalmának gomboknak kell lennie, amelyeket ki kell vonni és át kell helyezni az irányítópult gombterületére, maga a <nav> el lesz távolítva, ez egy megoldás az irányítópult nézetek még nem létezésére

  • a qweb-as-view renderelés több elemet ad hozzá a standard qweb renderelési kontextushoz:

    model

    a modell, amelyhez a qweb nézet kötődik

    domain

    a keresési nézet által biztosított domain

    context

    a keresési nézet által biztosított kontextus

    records

    egy lusta proxy a model.search(domain)-hez, ezt akkor használhatja, ha csak iterálni szeretné a rekordokat, és nem kíván bonyolultabb műveleteket végrehajtani (pl. csoportosítás)

  • a qweb-as-view további renderelési horgokat is biztosít:

    • _qweb_prepare_context(view_id, domain) előkészíti a qweb-as-view-hez specifikus renderelési kontextust

    • qweb_render_view(view_id, domain) az a metódus, amelyet a kliens hív meg, és amely meghívja a kontextus-előkészítő metódusokat, végül pedig az env['ir.qweb'].render()-t.

Grafikon

A grafikon nézetet aggregációk vizualizálására használják egy adott számú rekord vagy rekordcsoport felett. A gyökéreleme a <graph>, amely a következő attribútumokat veheti fel:

type (opcionális)

az egyik a következőkből: bar (alapértelmezett), pie és line, a használni kívánt grafikon típusa

stacked (opcionális)

csak bar diagramoknál használatos. Állítsa 0-ra, hogy megakadályozza a csoporton belüli oszlopok kezdeti egymásra helyezését.

disable_linking (opcionális)

állítsa 1-re, hogy megakadályozza a grafikonra kattintások átirányítását a lista nézetre

order (opcionális)

ha be van állítva, az x-tengely értékei alapértelmezés szerint a megadott sorrend (asc vagy desc) szerinti mérésük alapján lesznek rendezve. Csak bar és pie diagramoknál használatos.

string (opcionális)

a kenyérmorzsákban megjelenített szöveg, amikor a lista nézetre irányít át.

sample

Legyen-e a nézet feltöltve egy mintarekord készlettel, ha a jelenlegi modellhez nem található rekord.

Ezek a hamis rekordok bizonyos mezőnevek/modellek esetén heuristikákat alkalmaznak. Például a display_name mező a res.users modellen mintaszemélyek neveivel lesz feltöltve, míg az email mező a [email protected] formátumban lesz.

A felhasználó nem tud ezekkel az adatokkal interakcióba lépni, és amint egy művelet végrehajtásra kerül (rekord létrehozása, oszlop hozzáadása, stb.), el lesznek vetve.

követelmény

Opcionális

típus

bool

alapértelmezett

False

A grafikon nézetben csak a field elem engedélyezett, amely a következő attribútumokkal rendelkezhet:

name (kötelező)

a nézetben használandó mező neve. Ha csoportosításra használják (nem pedig összesítésre)

invisible (opcionális)

ha igaz, a mező sem az aktív mértékekben, sem a választható mértékekben nem jelenik meg.

type (opcionális)

ha measure-re van állítva, a mezőt egy csoporton belüli összesített értékként használják, nem pedig csoportosítási kritériumként. Csak az utolsó ilyen attribútummal rendelkező mezőnél működik, de hasznos más mezők esetén is, amelyek string attribútummal rendelkeznek (lásd alább).

interval (opcionális)

dátum és datetime mezők esetén a megadott intervallum szerint csoportosít (day, week, month, quarter vagy year) a konkrét datetime (fix másodperc felbontás) vagy dátum (fix nap felbontás) helyett. Az alapértelmezett a month.

string (opcionális)

only used for field with type="measure". The name that will be used to display the field in the graph view, overrides the default python String attribute of the field.

A mértékek automatikusan generálódnak a modell mezőiből; csak az összesíthető mezők kerülnek felhasználásra. Ezek a mértékek a mező szövegének ábécé sorrendje szerint is rendezve vannak.

Figyelem

a grafikon nézet aggregációi az adatbázis tartalmán történnek, nem tárolt függvénymezők nem használhatók grafikon nézetekben

In Graph views, a field can have a widget attribute to dictate its format. The widget should be a field formatter, of which the most interesting are float_time, and monetary.

<field name="working_hours_close" widget="float_time"/>

Pivot

A pivot nézetet aggregációk pivot táblázat formájában történő megjelenítésére használják. Gyökéreleme a <pivot>, amely a következő attribútumokat veheti fel:

disable_linking (opcionális)

Állítsa 1-re, hogy eltávolítsa a táblázat celláinak listanézetre mutató linkjeit.

display_quantity (opcionális)

Állítsa 1-re, hogy alapértelmezés szerint megjelenítse a Mennyiség oszlopot.

default_order (opcionális)

A mérőszám neve és a sorrend (növekvő vagy csökkenő), amelyet alapértelmezett sorrendként használ a nézetben.

<pivot default_order="foo asc">
   <field name="foo" type="measure"/>
</pivot>

A pivot nézetben az egyetlen megengedett elem a field, amely a következő attribútumokkal rendelkezhet:

name (kötelező)

a nézetben használandó mező neve. Ha csoportosításra használják (nem pedig összesítésre)

string (opcionális)

a név, amelyet a mező megjelenítésére használnak a pivot nézetben, felülírja a mező alapértelmezett python String attribútumát.

type (opcionális)

jelzi, hogy a mezőt csoportosítási kritériumként vagy egy csoporton belüli aggregált értékként kell-e használni. Lehetséges értékek:

row (alapértelmezett)

a megadott mező szerint csoportosít, minden csoport saját sort kap.

col

oszlop szerinti csoportokat hoz létre

measure

mező, amelyet egy csoporton belül kell aggregálni

interval

dátum és időmezők esetén a megadott intervallum szerint csoportosít (day, week, month, quarter vagy year) a konkrét dátum-idő (rögzített másodperc felbontás) vagy dátum (rögzített nap felbontás) helyett.

invisible (opcionális)

ha igaz, a mező sem az aktív mértékek között, sem a választható mértékek között nem jelenik meg (hasznos olyan mezők esetén, amelyek aggregálva nem értelmezhetők, mint például különböző egységekben lévő mezők, pl. € és $).

sample

Legyen-e a nézet feltöltve egy mintarekord készlettel, ha a jelenlegi modellhez nem található rekord.

Ezek a hamis rekordok bizonyos mezőnevek/modellek esetén heuristikákat alkalmaznak. Például a display_name mező a res.users modellen mintaszemélyek neveivel lesz feltöltve, míg az email mező a [email protected] formátumban lesz.

A felhasználó nem tud ezekkel az adatokkal interakcióba lépni, és amint egy művelet végrehajtásra kerül (rekord létrehozása, oszlop hozzáadása, stb.), el lesznek vetve.

követelmény

Opcionális

típus

bool

alapértelmezett

False

A mértékek automatikusan generálódnak a modell mezőiből; csak az összesíthető mezők kerülnek felhasználásra. Ezek a mértékek a mező szövegének ábécé sorrendje szerint is rendezve vannak.

Figyelem

a grafikon nézethez hasonlóan a pivot az adatbázis tartalmán aggregálja az adatokat, ami azt jelenti, hogy a nem tárolt függvénymezők nem használhatók pivot nézetekben

A Pivot nézetben egy field rendelkezhet widget attribútummal, amely meghatározza annak formátumát. A widgetnek egy mezőformázónak kell lennie, amelyek közül a legérdekesebbek a date, datetime, float_time és monetary.

Például egy munkaidő-nyilvántartás pivot nézet így definiálható:

<pivot string="Timesheet">
    <field name="employee_id" type="row"/>
    <field name="date" interval="month" type="col"/>
    <field name="unit_amount" type="measure" widget="float_time"/>
</pivot>

Naptár

A naptár nézetek a rekordokat eseményekként jelenítik meg napi, heti, havi vagy éves naptárban.

Megjegyzés

Alapértelmezés szerint a naptár nézet a jelenlegi dátumra (ma) összpontosít. Megadhat egy konkrét kezdő dátumot az akció kontextusában, hogy beállítsa a naptár kezdeti fókuszát az adott időszakra (lásd mode) ezen dátum körül (a használni kívánt kontextuskulcs az initial_date)

Gyökérelemük a <calendar>. A naptár nézet elérhető attribútumai:

karakterlánc

string (alapértelmezett: '')

Ez a nézet cím csak akkor jelenik meg, ha egy olyan akciót nyit meg, amelynek nincs neve és amelynek célja «new» (egy párbeszédablak megnyitása)

létrehoz

bool (alapértelmezett: True)

Rekord létrehozásának letiltása/engedélyezése a nézeten.

szerkesztés

bool (alapértelmezett: True)

Rekord szerkesztésének letiltása/engedélyezése a nézeten.

törlés

bool (alapértelmezett: True)

Rekord törlésének letiltása/engedélyezése a nézeten az Action legördülő menün keresztül.

date_start (kötelező)

az esemény kezdő dátumát tartalmazó rekord mezőjének neve

date_stop

az esemény befejező dátumát tartalmazó rekord mezőjének neve, ha a date_stop meg van adva, a rekordok mozgathatóvá válnak (húzással és ejtéssel) közvetlenül a naptárban

date_delay

alternatíva a date_stop-hoz, az esemény időtartamát adja meg a befejező dátum helyett (mértékegység: nap)

color

egy rekordmező neve, amelyet szín szegmentálásra használnak. Az azonos szín szegmensbe tartozó rekordok ugyanazt a kiemelő színt kapják a naptárban, a színek félig véletlenszerűen vannak kiosztva. Az oldalsávban a látható rekord display_name/avatar jelenik meg

form_view_id

nézet, amely megnyílik, amikor a felhasználó létrehoz vagy szerkeszt egy eseményt. Vegye figyelembe, hogy ha ez az attribútum nincs beállítva, a naptár nézet visszaesik az aktuális művelet űrlap nézetének azonosítójára, ha van ilyen.

event_open_popup

Ha az «event_open_popup» opció igazra van állítva, akkor a naptár nézet eseményeket (vagy rekordokat) nyit meg egy FormViewDialog-ban. Ellenkező esetben új űrlap nézetben nyitja meg az eseményeket (do_action használatával)

quick_create

lehetővé teszi a gyors-esemény létrehozást kattintásra: csak a felhasználótól kér egy name-et (a mező, amelybe ez az érték mentésre kerül, a rec_name segítségével szabályozható), és megpróbál egy új eseményt létrehozni csak ezzel és a kattintott esemény időpontjával. Teljes űrlap párbeszédablakra esik vissza, ha a gyors létrehozás sikertelen

quick_create_view_id

Nézet, amely megnyílik, amikor a quick_create attribútum be van állítva, és a felhasználó eseményt hoz létre az alapértelmezett párbeszédablak helyett.

create_name_field

a rekord mezőjének neve, amely a rekord szöveges ábrázolását tartalmazza, ezt használják a rekordok «gyors létrehozás» mechanizmusán keresztül történő létrehozásakor

all_day

a rekord egy logikai mezőjének neve, amely jelzi, hogy az adott esemény egész naposként van-e megjelölve (és az időtartam nem releváns)

mode

Alapértelmezett megjelenítési mód a naptár betöltésekor. Lehetséges attribútumok: day, week, month, year

scales

Vesszővel elválasztott skálák listája, amelyeket biztosítani kell. Alapértelmezés szerint minden skála elérhető. A lehetséges skálaértékekért lásd a mode-t.

create, delete

lehetővé teszi a megfelelő művelet letiltását a nézetben azáltal, hogy a megfelelő attribútumot false értékre állítja

<field>

mezőket deklarál az összesítéshez vagy a kanban logikában való használathoz. Ha a mező egyszerűen megjelenik a naptár kártyákon.

A mezőknek lehetnek további attribútumai:

invisible

use „True” to hide the value in the cards

avatar_field

csak x2many mező esetén, hogy az avatart jelenítse meg a display_name helyett a kártyákon

write_model és write_field és filter_field

hozzáadhat egy szűrőt, és elmentheti az eredményt a meghatározott modellben, a szűrő hozzáadódik az oldalsávhoz. A filter_field opcionális, és lehetővé teszi annak a mezőnek a megadását, amely a szűrő állapotát fogja tartalmazni.

filters és color

use „True” to add this field in filter in the sidebar. You can specify a color field used to colorize the checkbox.

Model Commons

Tevékenység

A Tevékenység nézet a rekordokhoz kapcsolódó tevékenységek megjelenítésére szolgál. Az adatok egy diagramon jelennek meg, ahol a rekordok a sorokat, a tevékenységtípusok pedig az oszlopokat alkotják. Minden sor első cellája egy (testreszabható, lásd templates, hasonlóan a Kanban) kártyát jelenít meg, amely a megfelelő rekordot képviseli. Más cellákra kattintva a rekord azonos típusú tevékenységeinek részletes leírása jelenik meg.

Figyelem

A Tevékenység nézet csak akkor érhető el, ha a mail modul telepítve van, és azoknál a modelleknél, amelyek öröklik a mail.activity.mixin-t.

A Tevékenység nézet gyökéreleme az <activity>, amely a következő attribútumokat fogadja el:

string (kötelező)

Egy cím, amelynek le kell írnia a nézetet

A nézeti elem lehetséges gyermekei:

field

deklarálja a mezőket, amelyeket a tevékenység logikájában használnak. Ha a mező egyszerűen megjelenik a tevékenység nézetben, akkor nem szükséges előre deklarálni.

Lehetséges attribútumok:

name (kötelező)

a mező neve, amelyet le kell kérni

templates

meghatározza a QWeb sablonok sablonokat. A kártyák definíciója több sablonra is osztható a tisztaság érdekében, de az aktivitás nézeteknek legalább egy gyökér sablont activity-box kell meghatározniuk, amely minden rekordhoz egyszer megjelenik.

Az aktivitás nézet többnyire szabványos javascript qweb-et használ, és a következő kontextus változókat biztosítja (további részletekért lásd: Kanban):

widget

a jelenlegi ActivityRecord(), amely felhasználható néhány meta-információ lekérésére. Ezek a metódusok közvetlenül elérhetők a sablon kontextusában, és nem szükséges őket widget-en keresztül elérni.

record

egy objektum, amely az összes kért mezőt tartalmazza attribútumként. Minden mezőnek két attribútuma van: value és raw_value