# HG changeset patch # Parent 7d14b75cdfd4c7a272a13572947de5d47f3e851f # Parent f400352a70963801f0b4732d33a0183e4f6800ff diff --git a/openacademy/models.py b/openacademy/models.py --- a/openacademy/models.py +++ b/openacademy/models.py @@ -13,6 +13,20 @@ class Course(models.Model): session_ids = fields.One2many( 'openacademy.session', 'course_id', string="Sessions") + @api.multi + def copy(self, default=None): + default = dict(default or {}) + + copied_count = self.search_count( + [('name', '=like', u"Copy of {}%".format(self.name))]) + if not copied_count: + new_name = u"Copy of {}".format(self.name) + else: + new_name = u"Copy of {} ({})".format(self.name, copied_count) + + default['name'] = new_name + return super(Course, self).copy(default) + _sql_constraints = [ ('name_description_check', 'CHECK(name != description)',