Hi,
I'm currently trying to make a simple inherit of the table "calendar.event".
It work fine until i try to create a record in my new table.
Here is my code and the error:
from openerp.osv import osv, fields
from openerp import models, api
class re_calendar_event(osv.osv):
_name = 're.calendar.event'
_inherit = 'calendar.event'
Note the form view is the exact copy of the calendar.event form :
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="re_view_calendar_event_form">
<field name="name">Calendar - Event Form</field>
<field name="model">re.calendar.event</field>
<field name="priority" eval="1"/>
<field name="arch" type="xml">
<form string="Meetings">
<sheet>
<field name="state" invisible="1"/>
<field name="is_attendee" invisible="1"/>
<field name="attendee_status" invisible="1"/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name"/>
</div>
<h1>
<field name="name"/>
</h1>
<label for="partner_ids" string="Attendees" class="oe_edit_only"/>
<h2>
<field name="partner_ids" widget="many2manyattendee"
context="{'force_email':True}"
on_change="onchange_partner_ids(partner_ids)"
class="oe_inline"/>
</h2>
</div>
<notebook>
<page string="Meeting Details">
<group attrs="{'invisible': [('recurrency','==',False)]}" class="oe_edit_only ">
<p class='alert alert-warning'> This event is linked to a recurrence...<br/>
<button type="object" name="open_after_detach_event" string="Update only this instance" help="Click here to update only this instance and not all recurrences. " class="oe_link"/>
</p>
</group>
<group>
<group>
<field name="start" attrs="{'invisible': True}"/>
<field name="stop" attrs="{'invisible': True}"/><field name="start_date" string="Starting at" on_change="onchange_dates('start', start_date, stop_date, allday, True)" attrs="{'invisible': [('allday','=',False)]}"/>
<field name="stop_date" string="Ending at" on_change="onchange_dates('stop', start_date, stop_date, allday, True)" attrs="{'invisible': [('allday','=',False)]}"/><field name="start_datetime" string="Starting at" on_change="onchange_dates('start', start_datetime, stop_datetime, allday, False)" attrs="{'invisible': [('allday','=',True)]}"/>
<field name="stop_datetime" string="Ending at" on_change="onchange_dates('stop', start_datetime, stop_datetime, allday, False)" attrs="{'invisible': [('allday','=',True)]}"/>
<label for="allday"/>
<div>
<field name="allday" class="oe_inline" on_change="onchange_allday(start, stop, start_date, stop_date, start_datetime, stop_datetime, allday)"/>
</div>
<field name="duration" widget="float_time" class="oe_inline" attrs="{ 'invisible': True }"/>
</group>
<group>
<field name="categ_ids" widget="many2many_tags" />
<field name="alarm_ids" widget="many2many_tags" />
<field name="location" />
</group></group>
<label for="description"/>
<field name="description"/>
</page>
<page string="Options">
<group>
<group col="1">
<group>
<field name="recurrency"/>
</group>
<group attrs="{'invisible': [('recurrency','=',False)]}">
<label for="interval"/>
<div>
<field name="interval" attrs="{'required': [('recurrency','==',True)]}" class="oe_inline"/>
<field name="rrule_type" attrs="{'required': [('recurrency','==',True)]}" class="oe_inline"/>
</div>
<label string="Until" for="end_type"/>
<div>
<field name="end_type" attrs="{'required': [('recurrency','==',True)]}" class="oe_inline"/>
<field name="count" attrs="{'invisible': [('end_type', '!=', 'count')], 'required': [('recurrency','==',True)]}" class="oe_inline"/>
<field name="final_date" attrs="{'invisible': [('end_type', '!=', 'end_date')], 'required': [('end_type', '=', 'end_date')]}" class="oe_inline"/>
</div>
<label string="Select Weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}"/>
<group col="2" colspan="1" name="weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}" >
<field name="mo" />
<field name="tu" />
<field name="we" />
<field name="th" />
<field name="fr" />
<field name="sa" />
<field name="su" />
</group>
<label string="Day of Month"
attrs="{'invisible': [('rrule_type','!=','monthly')]}"/>
<div attrs="{'invisible': [('rrule_type','!=','monthly')]}">
<field name="month_by"/>
<field name="day"
attrs="{'required': [('month_by','=','date'), ('rrule_type','=','monthly')],
'invisible': [('month_by','=','day')]}"/>
<field name="byday" string="The"
attrs="{'required': [('month_by','=','day'), ('rrule_type','=','monthly')], 'invisible': [('month_by','=','date')]}"/>
<field name="week_list" nolabel="1"
attrs="{'required': [('month_by','=','day'), ('rrule_type','=','monthly')], 'invisible': [('month_by','=','date')]}"/>
</div>
</group>
</group>
<group>
<field name="class"/>
<field name="show_as"/>
<field name="rrule" invisible="1" readonly="0" />
<field name="recurrent_id" invisible="1" />
</group>
</group>
</page>
<page string="Invitations" groups="base.group_no_one">
<button name="do_sendmail" type="object" string="Send mail" icon="terp-mail-message-new" class="oe_link"/>
<field name="attendee_ids" widget="one2many" >
<tree string="Invitation details" editable="top" create="false" delete="false">
<field name="partner_id" />
<field name="state" />
<field name="email" widget="email"/>
<button name="do_tentative" states="needsAction,declined,accepted" string="Uncertain" type="object" icon="terp-crm" />
<button name="do_accept" string="Accept" states="needsAction,tentative,declined" type="object" icon="gtk-apply"/>
<button name="do_decline" string="Decline" states="needsAction,tentative,accepted" type="object" icon="gtk-cancel"/>
</tree>
</field>
</page>
<page string="Misc" groups="base.group_no_one">
<label string="Owner"/>
<field name="user_id" />
</page></notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread" />
</div>
</form>
</field>
</record>
</data>
</openerp>
The error I got :
Traceback (most recent call last):
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 508, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 526, in dispatch
result = self._call_function(**self.params)
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 285, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 282, in checked_call
return self.endpoint(*a, **kw)
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 742, in __call__
return self.method(*args, **kw)
File "/home/odoo/openerp-8.0-1125/openerp/http.py", line 378, in response_wrap
response = f(*args, **kw)
File "/home/odoo/openerp-8.0/openerp/addons/web/controllers/main.py", line 948, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/odoo/openerp-8.0/openerp/addons/web/controllers/main.py", line 940, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/odoo/openerp-8.0/openerp/addons/calendar/calendar.py", line 1595, in create
res = super(calendar_event, self).create(cr, uid, vals, context=context)
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/odoo/openerp-8.0/openerp/addons/mail/mail_thread.py", line 377, in create
thread_id = super(mail_thread, self).create(cr, uid, values, context=context)
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 332, in old_api
result = method(recs, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/models.py", line 3994, in create
record = self.browse(self._create(old_vals))
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 235, in wrapper
return new_api(self, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/api.py", line 464, in new_api
result = method(self._model, cr, uid, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/models.py", line 4179, in _create
result += self._columns[field].set(cr, self, id_new, field, vals[field], user, rel_context) or []
File "/home/odoo/openerp-8.0-1125/openerp/osv/fields.py", line 978, in set
cr.execute('delete from '+rel+' where '+id1+'=%s AND '+id2+' IN (SELECT '+rel+'.'+id2+' FROM '+rel+', '+','.join(tables)+' WHERE '+rel+'.'+id1+'=%s AND '+rel+'.'+id2+' = '+obj._table+'.id '+ d1 +')', [id, id]+d2)
File "/home/odoo/openerp-8.0-1125/openerp/sql_db.py", line 158, in wrapper
return f(self, *args, **kwargs)
File "/home/odoo/openerp-8.0-1125/openerp/sql_db.py", line 234, in execute
res = self._obj.execute(query, params)
ProgrammingError: column "re_calendar_event_id" does not exist
LINE 1: delete from calendar_event_res_partner_rel where re_calendar...
Thanks in advance