29 lines
986 B
Plaintext
29 lines
986 B
Plaintext
|
# 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)',
|