652fad7a11a9a3336f712e98b45738bcdcc27909
[odoo/odoo.git] / doc / howtos / backend / exercise-copy-override
1 # HG changeset patch
2 # Parent 7d14b75cdfd4c7a272a13572947de5d47f3e851f
3
4 Index: doc-backend/openacademy/course.py
5 ===================================================================
6 --- doc-backend.orig/openacademy/course.py      2014-08-21 14:54:08.768549861 +0200
7 +++ doc-backend/openacademy/course.py   2014-08-21 14:54:08.764549861 +0200
8 @@ -13,6 +13,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)',