You can extend the unlock method like this.
from openerp import models, api, exceptions class CalendarEvent(models.Model): _inherit = "calendar.event" @api.multi def unlink(self): for record in self: if record.create_uid != self.uid: raise exceptions.Warning(('Error'), ('You cannot delete an event that you did not create.')) return super(ClassName, self).unlink()
You can use recording rules
<record model="ir.rule" id="calendar_event_rule"> <field name="name">Calendar Event : cannot delete someone else event</field> <field name="model_id" ref="model_calendar_event"></field> <field name="domain_force">[('create_uid', '!=', user.id)]</field> <field eval="0" name="perm_write"></field> <field eval="1" name="perm_read"></field> <field eval="0" name="perm_unlink"></field> <field eval="1" name="perm_create"></field> </record>
Please note that with this rule they will also not be able to edit it.
source share