user2379186
user2379186

Reputation: 431

Odoo Events add field to form

I am using Odoo 11 and I am trying to add a field to the event registration form. The registration form actually on the website. enter image description here

I was able to add to the attendee form but this does not show on the website registration form.

models

class EventRegistration(models.Model):

    _inherit = "event.registration"

    firstname = fields.Char(
        string="Firstname",
        index=True,
    )
    lastname = fields.Char(
        string="Lastname",
        index=True,
    )
    name = fields.Char(
        string="Name",
        compute="_compute_name",
        readonly=True,
        store=True
    )
    team = fields.Char(
        string="Team",
        store=True,
    )

View file

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <record model="ir.ui.view" id="view_event_registration_form_inherit_firstname">
        <field name="name">event.registration.form</field>
        <field name="model">event.registration</field>
        <field name="inherit_id" ref="event.view_event_registration_form" />
        <field name="name">event.registration.view.form.inherit.firstname</field>
        <field name="arch" type="xml">
            <field name="name" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>
            <field name="name" position="after">
                <field name="firstname"/>
                <field name="lastname"/>
                <field name="team"/>
            </field>
        </field>
    </record>


    <record model="ir.ui.view" id="view_event_registration_tree_inherit_firstname">
        <field name="name">event.registration.tree</field>
        <field name="model">event.registration</field>
        <field name="inherit_id" ref="event.view_event_registration_tree" />
        <field name="arch" type="xml">
            <field name="name" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>
            <field name="name" position="after">
                <field name="firstname"/>
                <field name="lastname"/>
                <field name="team"/>
            </field>
            <field name="partner_id" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>
        </field>
    </record>

    <record model="ir.ui.view" id="view_registration_search_inherit_firstname">
        <field name="name">event.registration.search</field>
        <field name="model">event.registration</field>
        <field name="inherit_id" ref="event.view_registration_search" />
        <field name="arch" type="xml">
            <xpath expr="//search/filter[last()]" position="after">
                <field name="firstname" string="Firstname" filter_domain="[('firstname', 'ilike', self)]"/>
                <field name="lastname" string="Lastname" filter_domain="[('lastname', 'ilike', self)]"/>
            </xpath>
            <xpath expr="//search/group" position="inside">
                <filter string="Lastname" domain="[]" context="{'group_by': 'lastname'}"/>
                <filter string="Firstname" domain="[]" context="{'group_by': 'firstname'}"/>
            </xpath>
        </field>
    </record>
</odoo>

When I click register now I want to add the field team. As you can see from the picture the code adds to the attendee page .

enter image description here

Upvotes: 0

Views: 568

Answers (1)

Ajmal JK
Ajmal JK

Reputation: 833

To add a field to the event registration form you have to inherit the template 'registration_attendee_details'. External id is website_event.registration_attendee_details.

Upvotes: 1

Related Questions