Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Codeblock
languagexml
themeMidnight
<odoo>
	<data>
		<record model="ir.actions.act_window" id="eq_letter_menu_action">
			<field name="name">eq_letter<letter_menu_action</field>
			<field name="res_model">eq_letter</field>
		</record>

		<menuitem id="eq_letter_menu"
					name="eq_letter"
					action="eq_letter_menu_action"/>
	</data>
</odoo>


Das Ergebnis sieht dann so aus.

Image Added


Mit dem sequence Parameter lässt sich die Reihenfolge der Menüeinträge bestimmen. Je höher die Zahl umso niegrieger die Priorität.

Codeblock
languagexml
themeMidnight
<menuitem id="eq_letter_menu"
			name="eq_letter"
			action="eq_letter_menu_action"
			sequence="1000"/>


Image Added


Das bisher gezeigt ist sehr rudimentär, zum Beispiel funktioniert der Create Button nicht. Dies ändert sich mit den folgenden erweiterungen. 

Codeblock
languagexml
themeMidnight
<record model="ir.actions.act_window" id="eq_letter_menu_action">
	<field name="name">EQ Letter</field>
	<field name="res_model">eq_letter</field>
	<field name="view_type">form</field>
			<field name="view_mode">tree,form</field>
			<field name="help" type="html">
				<p class="oe_view_nocontent_create">
					Click here to create your letter.
				</p>
			</field>
		</record>

Der "view_type" ist in diesem Fall form. Alternativ kann auch list verwendet werden.

  • form gibt eine Listenansicht sobald Datensätze vorhanden sind zusätzlich kann zu einer Formularansicht gewechselt werden.
  • list gibt ebenfalls eine Listenansicht jedoch kann zu keiner anderen Ansicht gewechselt werden

Image Added


Definieren der Formview:

Codeblock
languagexml
themeMidnight
<record model="ir.ui.view" 		<menuitem id="eq_letter_menu"
					name="eq_letter"
					action="eq_letter_menu_action"/>
	</data>
</odoo>

Das Ergebnis sieht dann so aus.

Image Removed

...

id="eq_letter_form_view">
	<field name="name">eq_letter_form</field>
	<field name="model">eq_letter</field>
	<field name="arch" type="xml">
		<form string="test">
			<group>
				<field name="eq_res_partner"/>
				<field name="eq_date"/>
				<field name="eq_subject"/>
				<field name="eq_body"/>
				<field name="eq_state"/>
			</group>
		</form>
	</field>
</record>

Das group tag ist notwendig um das label anzuzeigen(das Stringattribut im model  eq_date = fields.Date(string="date")).


Zum besseren Verständnis bennen wir views/views.xml in views/eq_letter.xml um. Die ist notwendig da noch andere views hinzukommen werden und damit die Übersicht gewahrt bleibt.

Als nächstes wird das Menü erweitert. Das Modul erhält sein eigenes Untermenü. Diues geschieht in der eben umbenannten Datei.


Codeblock
languagexml
themeMidnight
<menuitem id="eq_letter_menu"
			name  name="letters"
		  action="eq_letter_menu_action"
			action  parent="eq_letter_top_menu_action"/>

<menuitem id="eq_letter_top_menu"
			sequence  name="1000eq_letter"/>

Image RemovedWas vorher "eq_letter" war dient jetzt nur noch Zugang zu den Unterpunkten des Moduls. Als Unterpunkt wurde "letters" erstellt, unt welchem jetzt die action ausgelöst wird. Damit "letters" ein Unterpunkt wird muss "eq_letters" als parent definiert werden. 

Endprodukt:

Image Added

Laut Bild gibt es einen weiteren Unterpunkt namens states. Diesen legen wir als nächstes an.

Wir benötigen dafür eine .xml Datei die unter views/eq_letter_state.xml erzeugt wird.

Der Inhalt von eq_letter.xml wird kopiert und abgeändert.



Codeblock
languagexml
themeMidnight
<odoo>
    <data>

        <record model="ir.ui.view" id="eq_letter_state_form_view">
            <field name="name">eq_letter_state_form</field>
            <field name="model">eq_letter_state</field>
            <field name="arch" type="xml">
                <form string="test">
                    <group>
                        <field name="eq_state"/>
                    </group>
                </form>
            </field>
        </record>

         <record model="ir.actions.act_window" id="eq_letter_state_menu_action">
	
            <field name="name">EQ Letter Letter<State</field>
	
            <field name="res_model">eq_letter_letter<state</field>
	            <field name="view_type">form</field>
	
            <field name="view_mode">tree,form</field>
	
            <field name="help" type="html">
		
                <p class="oe_view_nocontent_create">
			                    Click here to create your letter.
		</p>
	 a new state.
                </p>
            </field>
        </record>

        <menuitem id="eq_letter_state_menu"
                  name ="states"
                  action ="eq_letter_state_menu_action"
                  parent="eq_letter_menu_top"
                  sequence="1000"/>

    </data>
</odoo>

Image Added


Als nächstes möchten wir die treeview von eq.letter.state ändern. Es soll der entsprechende Status des Briefes angezeigt werden, nicht dessen ID. Hierzu fügen wir den folgenden Code in views/eq_letter_state.xml

Codeblock
languagexml
themeMidnight
<record model="ir.ui.view" id="eq_letter_state_tree_view">
   	<field name="name">EQ Letter States</field>
    <field name="model">eq.letter.state</field>
    <field name="arch" type="xml">
        <tree string="States">
            <field name="eq_state"/>
        </tree>
    </field>
</record>

Dies führt zu diesem Ergebnis.

Image Added