Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

How to inherit calendar.event with a different name?

By
Anabela Damas
on 6/12/13, 11:33 AM 2,374 views

Hi,

I was trying to do a new object similar to calendar.event but keeping the original. I try like this in mymodule/mymodule.py:

class radar_eventos(osv.osv):
    """ Model for Events """
    _name = 'radar.eventos'
    _description = "Events"
    _inherit = "calendar.event"
    _columns = {
        'eventotipo_ids': fields.many2many('radar.eventos.tipo', 'radar_tipo_eventos_rel',
            'evento_id','tipo_id','Tipo de Evento'),
    }  
radar_eventos()

In mymodule/mymodule_view.xml:

<menuitem id="menu_eventos" name="Eventos" parent="menu_gestao_ideias"></menuitem>

<!-- Form View para os Eventos herdada do base_calendar-->


<record model="ir.ui.view" id="view_radar_eventos_form">
    <field name="name">Eventos Form</field>
    <field name="model">radar.eventos</field>
    <field name="inherit_id" ref="base_calendar.event_form_view" />
    <field name="arch" type="xml">
    <xpath expr="/form/header/field[@name='state']" position="replace">
       <field name="state" widget="statusbar"
        statusbar_visible="novo,agendado,emcurso,realizado,cancelado"/>
    </xpath>
    <xpath expr="/form/sheet/group" position="before">
        <group>
        <group>
            <field name="id_evento"/>
        </group>
        <group>
            <field name="registo_id"/>
        </group>
        </group>
    </xpath>
    <xpath expr="/form/sheet/notebook/page/group[@col='6']" position="replace">
        <group col="4" >
        <group col="2" colspan="2">
            <separator string="Visibility" colspan="2"/>
            <group>
                <field name="user_id" string="Responsible User"/>
                <field name="show_as" string="Show Time as"/>
                <field name="class" string="Privacy"/>
                <field name="recurrent_id_date" invisible="1"/>
                <field name="recurrent_id" invisible="1"/>
            </group>
        </group>
        <group col="2" colspan="2">
            <separator string="Informação" colspan="2"/>
            <group>
                <field name="eventotipo_ids" widget="many2many_tags" style="width: 50%%"/>
            </group>
        </group>
        </group>
    </xpath>
    <xpath expr="/form/sheet/notebook/page/field[@name='description']" position="replace">
        <field name="description" placeholder="Descrição..."/>
        <separator string="Objectivos"/>
        <field name="objectivos" placeholder="Objectivos..."/>
    </xpath>
    <xpath expr="/form/sheet/notebook/page[@string='Invitation Detail']" position="after">
        <page string="Ideias">
        <separator string="Informação sobre as ideias ...."/>
        <field name="ideias_id"/>
        </page>
        <page string="Acções e Tarefas">
        <separator string="Informação sobre as tarefas ...."/>
        <field name="accoes_tarefas_id"/>
        </page>
    </xpath>
    </field>
</record>


<!-- Tree View para os Eventos herdada do base_calendar-->


<record model="ir.ui.view" id="view_radar_eventos_tree">
    <field name="name">Eventos Tree</field>
    <field name="model">radar.eventos</field>
    <field name="inherit_id" ref="base_calendar.event_tree_view" />
    <field name="arch" type="xml">
    <xpath expr="/tree/field[@name='name']" position="before">
        <field name="id_evento"/>
        <field name="registo_id" string="Reg. Vigilância"/>
    </xpath>
    <xpath expr="/tree/field[@name='name']" position="after">
        <field name="eventotipo_ids"/>
        <field name="description" string="Descrição"/>
        <field name="objectivos"/>
    </xpath>
    <xpath expr="/tree/field[@name='state']" position="replace">
        <field name="user_id" string="Responsável"/>
        <field name="state"/>
    </xpath>
    </field>
</record>


<!-- Calendar View para os Eventos herdada do base_calendar-->
<record model="ir.ui.view" id="view_radar_eventos_calendar">
    <field name="name">Eventos Calendar</field>
    <field name="model">radar.eventos</field>
    <field name="priority" eval="2"/>
    <field name="inherit_id" ref="base_calendar.event_calendar_view" />
    <field name="arch" type="xml">
    <xpath expr="/calendar" position="replace">
        <calendar string="Events" date_start="date" color="user_id" date_delay="duration">
        <field name="name"/>
        <field name="class"/>
        <field name="show_as"/>
        </calendar>
    </xpath>
    </field>
</record>

<!-- search View para os Eventos herdada do base_calendar-->


<record id="view_radar_eventos_search" model="ir.ui.view">
    <field name="name">Eventos Search</field>
    <field name="model">radar.eventos</field>
    <field name="inherit_id" ref="base_calendar.view_calendar_event_filter" />
    <field name="arch" type="xml">
    <xpath expr="/search/field[@name='name']" position="after">
        <field name="eventotipo_ids"/>
        <field name="id_evento"/>
        <field name="registo_id"/>
    </xpath>
    </field>
</record>

<!-- Action View para os Eventos herdada do base_calendar-->

<record id="action_radar_eventos" model="ir.actions.act_window">
    <field name="name">Eventos</field>
    <field name="type">ir.actions.act_window</field>
    <field name="res_model">radar.eventos</field>
    <field name="view_type">form</field>
    <!--<field name="view_mode">tree,form</field>-->
    <field name="view_mode">calendar,tree,form</field>
    <field name="search_view_id" ref="view_radar_eventos_search"/>
</record>

<record model="ir.actions.act_window.view" id="action_radar_eventos_calendar">
    <field name="act_window_id" ref="action_radar_eventos"/>
    <field name="sequence" eval="1"/>
    <field name="view_mode">calendar</field>
    <field name="view_id" ref="view_radar_eventos_calendar"/>
</record>
<record model="ir.actions.act_window.view" id="action_radar_eventos_tree">
    <field name="act_window_id" ref="action_radar_eventos"/>
    <field name="sequence" eval="2"/>
    <field name="view_mode">tree</field>
    <field name="view_id" ref="view_radar_eventos_tree"/>
</record>
<record model="ir.actions.act_window.view" id="action_radar_eventos_form">
    <field name="act_window_id" ref="action_radar_eventos"/>
    <field name="sequence" eval="3"/>
    <field name="view_mode">form</field>
    <field name="view_id" ref="view_radar_eventos_form"/>
</record>

<menuitem id="menu_eventos_action" name="Eventos" parent="menu_eventos" action="action_radar_eventos"></menuitem>

With this code I don't have erros but the view is disorganized, like if I didn't have defined a view.

But if I change the name of the model to "calendar.event" everything works fine.... I really want to keep the original and create my calendar based on the calendar of openerp, someone knows what I'm doing wrong ?

Thanks

UPDATE:

With this last code the view it's ok when I go through the menu, but when I use the field in a relation view (in a view of an object that it is related to my new object radar.eventos) the view of radar.eventos is like it doesn't have any view defined. Do I forget some action view ?

Thanks

2

Ghanshyam Prajapati

--Ghanshyam Prajapati--
1377
| 4 4 8
Pune, India
--Ghanshyam Prajapati--
OpenERP Developer
Ghanshyam Prajapati
On 6/13/13, 2:43 AM

Try this, Hope it works for you.

For Form View,

        <record id="action_radar_eventos_form" model="ir.actions.act_window.view">
            <field eval="2" name="sequence"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="view_radar_eventos_form"/>
            <field name="act_window_id" ref="action_radar_eventos"/>
        </record>

For Tree View,

    <record id="action_radar_eventos_tree" model="ir.actions.act_window.view">
            <field eval="2" name="sequence"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="view_radar_eventos_tree"/>
            <field name="act_window_id" ref="action_radar_eventos"/>
        </record>

Thanks ! It works! =)

Versão Integral, Anabela Damas
on 6/13/13, 8:12 AM

Hello again,

Sorry now I've some relations one2many and many2one and in the other objects views when I click "Create and Edit" the form view of my calendar object is disorganize again and the tree view is just with the field name... It is needed to add another ir.actions.act_window.view? Thanks

Versão Integral, Anabela Damas
on 6/14/13, 2:56 PM

Yes you should make tree view of your object same like form view, and you also should change in your main action <field name="view_mode">tree,form</field>. check my updated answer.

Ghanshyam Prajapati
on 6/14/13, 5:44 PM

I updated my question with all the code that I'm using in the views... I don't understand why the view is disorganized when I do "Create and Edit" in an object many2one relationed to my radar.eventos...

Versão Integral, Anabela Damas
on 6/17/13, 1:57 PM

please make tree view, form view for 'radar.eventos.tipo' object, then see.

Ghanshyam Prajapati
on 6/18/13, 2:41 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 6/12/13, 11:33 AM
Seen: 2374 times
Last updated: 3/16/15, 8:10 AM