From 6733a3f8ec26f359bbc2b9bb25419c6e647282bf Mon Sep 17 00:00:00 2001 From: Arnaud Pineux Date: Tue, 25 Sep 2012 11:11:26 +0200 Subject: [PATCH] test academy bzr revid: api@openerp.com-20120925091126-zdthas0x2exi1bep --- addons/openacademy/__init__.py | 1 + addons/openacademy/__openerp__.py | 16 +++++++ addons/openacademy/openacademy.py | 30 ++++++++++++ addons/openacademy/openacademy_view.xml | 33 +++++++++++++ addons/openacademy/temporary.py | 64 +++++++++++++++++++++++++ 5 files changed, 144 insertions(+) create mode 100644 addons/openacademy/__init__.py create mode 100644 addons/openacademy/__openerp__.py create mode 100644 addons/openacademy/openacademy.py create mode 100644 addons/openacademy/openacademy_view.xml create mode 100644 addons/openacademy/temporary.py diff --git a/addons/openacademy/__init__.py b/addons/openacademy/__init__.py new file mode 100644 index 00000000000..de12070d44b --- /dev/null +++ b/addons/openacademy/__init__.py @@ -0,0 +1 @@ +import openacademy \ No newline at end of file diff --git a/addons/openacademy/__openerp__.py b/addons/openacademy/__openerp__.py new file mode 100644 index 00000000000..9514efb6df0 --- /dev/null +++ b/addons/openacademy/__openerp__.py @@ -0,0 +1,16 @@ +{ + 'name': 'Open Academy', + 'version': '1.0', + 'depends': ['base'], + 'author': 'Arnaud_Pineux', + 'category': 'Test', + 'description': """ + Open Academy module for managing trainings: + - training courses + - training sessions + - attendees registration """, + 'data': ['openacademy_view.xml'], + 'demo': [], + 'installable': True, + 'application' : True, +} diff --git a/addons/openacademy/openacademy.py b/addons/openacademy/openacademy.py new file mode 100644 index 00000000000..b134ee5b45d --- /dev/null +++ b/addons/openacademy/openacademy.py @@ -0,0 +1,30 @@ +from openerp.osv import osv, fields + +class Course (osv.Model): + _name = "openacademy.course" + _description = "OpenAcademy course" + _column = { + 'name': fields.char('Course Title',size=128,required=True), + 'description': fields.text('Description'), + 'responsible_id': fields.many2one('res.users',string='responsible',ondelete='set null'), + 'session_ids': fields.one2many('openacademy.session','course_id','Session'), + } +class Session(osv.Model): + _name = 'openacademy.session' + _description = "OpenAcademy session" + _columns = { + 'name': fields.char('Session Title', size=128, required=True), + 'start_date': fields.date('Start Date'), + 'duration': fields.float('Duration', digits=(6,2), help="Duration in days"), + 'seats': fields.integer('Number of seats'), + 'instructor_id': fields.many2one('res.partner','Intructor'), + 'course_id': fields.many2one('openacademy.course','course',required=True,ondelete='cascade'), + 'attendee_ids': fields.one2many('openacademy.attendee','session_id','Attendees'), + } +class Attendee(osv.Model): + _name = 'openacademy.attendee' + _description = "OpenAcademy Attendee" + _columns = { + 'partner_id': fields.many2one('res.partner','Partner',required=True,ondelete='cascade'), + 'session_id': fields.many2one('openacademy.session','Session',required=True,ondelete='cascade'), + } \ No newline at end of file diff --git a/addons/openacademy/openacademy_view.xml b/addons/openacademy/openacademy_view.xml new file mode 100644 index 00000000000..e694788aa69 --- /dev/null +++ b/addons/openacademy/openacademy_view.xml @@ -0,0 +1,33 @@ + + + + + Courses + openacademy.course + form + tree,form + + + + openacadamy.course.tree + openacademy.course + + + + + + + + + + Sessions + openacademy.session + form + tree,form + + + + + + + \ No newline at end of file diff --git a/addons/openacademy/temporary.py b/addons/openacademy/temporary.py new file mode 100644 index 00000000000..86e482a33e5 --- /dev/null +++ b/addons/openacademy/temporary.py @@ -0,0 +1,64 @@ + + + course.form + openacademy.course + form + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + session.tree + openacademy.session + tree + + + + + + + + + + session.form + openacademy.session + form + +
+ + + + + + + + + + + + + +
+
\ No newline at end of file