# HG changeset patch # Parent 7d14b75cdfd4c7a272a13572947de5d47f3e851f Index: doc-backend/openacademy/course.py =================================================================== --- doc-backend.orig/openacademy/course.py 2014-08-21 14:54:08.768549861 +0200 +++ doc-backend/openacademy/course.py 2014-08-21 14:54:08.764549861 +0200 @@ -13,6 +13,20 @@ 'openacademy.session', 'course_id', string="Session") + @api.one + def copy(self, default=None): + default = dict(default or {}) + + copied_count = self.search_count( + [('name', '=like', "Copy of {}%".format(self.name))]) + if not copied_count: + new_name = "Copy of {}".format(self.name) + else: + new_name = "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)',