c8340f200032cc8091bb2008e1bc0d6e4b92ab42
[odoo/odoo.git] / doc / howtos / backend / exercise-copy-override
1 # HG changeset patch
2 # Parent 7d14b75cdfd4c7a272a13572947de5d47f3e851f
3
4 Index: addons/openacademy/models.py
5 ===================================================================
6 --- addons.orig/openacademy/models.py   2014-08-26 17:26:08.359783248 +0200
7 +++ addons/openacademy/models.py        2014-08-26 17:26:08.351783248 +0200
8 @@ -14,6 +14,20 @@
9          'openacademy.session', 'course_id', string="Session")
10  
11  
12 +    @api.one
13 +    def copy(self, default=None):
14 +        default = dict(default or {})
15 +
16 +        copied_count = self.search_count(
17 +            [('name', '=like', "Copy of {}%".format(self.name))])
18 +        if not copied_count:
19 +            new_name = "Copy of {}".format(self.name)
20 +        else:
21 +            new_name = "Copy of {} ({})".format(self.name, copied_count)
22 +
23 +        default['name'] = new_name
24 +        return super(Course, self).copy(default)
25 +
26      _sql_constraints = [
27          ('name_description_check',
28           'CHECK(name != description)',