summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Pineux <api@openerp.com>2012-09-25 11:11:26 +0200
committerArnaud Pineux <api@openerp.com>2012-09-25 11:11:26 +0200
commit6733a3f8ec26f359bbc2b9bb25419c6e647282bf (patch)
tree7aa6f1c4c18ef3f8bd459e027ef20607c1b501a9
parentdfeeca1e8fd702bddd7ace33090d99395c485811 (diff)
test academy
bzr revid: api@openerp.com-20120925091126-zdthas0x2exi1bep
-rw-r--r--addons/openacademy/__init__.py1
-rw-r--r--addons/openacademy/__openerp__.py16
-rw-r--r--addons/openacademy/openacademy.py30
-rw-r--r--addons/openacademy/openacademy_view.xml33
-rw-r--r--addons/openacademy/temporary.py64
5 files changed, 144 insertions, 0 deletions
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 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<openerp>
+ <data>
+ <record model='ir.actions.act_window' id='course_list_action'>
+ <field name='name'>Courses</field>
+ <field name='res_model'>openacademy.course</field>
+ <field name='view_type'>form</field>
+ <field name='view_mode'>tree,form</field>
+ </record>
+
+ <record model='ir.ui.view' id='course_tree_view'>
+ <field name='name'>openacadamy.course.tree</field>
+ <field name='model'>openacademy.course</field>
+ <field name='arch' type='xml'>
+ <tree string='Course Tree'>
+ <field name='name'/>
+ <field name='responsible_id'/>
+ </tree>
+ </field>
+ </record>
+
+ <record model='ir.actions.act_window' id='session_list_action'>
+ <field name='name'>Sessions</field>
+ <field name='res_model'>openacademy.session</field>
+ <field name='view_type'>form</field>
+ <field name='view_mode'>tree,form</field>
+ </record>
+
+ <menuitem id='openacademy_menu' name='openacademy' />
+ <menuitem id='course_menu' name='Courses' parent='openacademy_menu' action='course_list_action' />
+ <menuitem id='session_menu' name='Sessions' parent='openacademy_menu' action='session_list_action' />
+ </data>
+</openerp> \ 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 @@
+
+<record model="ir.ui.view" id="course_form_view">
+ <field name="name">course.form</field>
+ <field name="model">openacademy.course</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Course Form">
+ <field name="name" />
+ <field name="responsible_id" />
+ <notebook colspan="4">
+ <page string="Description">
+ <field name="description" nolabel="1" colspan="4" />
+ </page>
+ <page string="Sessions">
+ <field name="session_ids" nolabel="1" colspan="4" mode="tree,form">
+ <tree string="Registered sessions">
+ <field name="name"/>
+ <field name="instructor_id"/>
+ </tree>
+ <form string="Registered sessions">
+ <field name="name"/>
+ <field name="instructor_id"/>
+ </form>
+ </field>
+ </page>
+ </notebook>
+ </form>
+ </field>
+ </record>
+
+ <!-- ======= SESSION ====== -->
+ <record model="ir.ui.view" id="session_tree_view">
+ <field name="name">session.tree</field>
+ <field name="model">openacademy.session</field>
+ <field name="type">tree</field>
+ <field name="arch" type="xml">
+ <tree string="Session Tree">
+ <field name="name"/>
+ <field name="course_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="session_form_view">
+ <field name="name">session.form</field>
+ <field name="model">openacademy.session</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Session Form">
+ <group colspan="2" col="2">
+ <separator string="General" colspan="2"/>
+ <field name="course_id"/>
+ <field name="name" />
+ <field name="instructor_id" />
+ </group>
+ <separator string="Attendees" colspan="4"/>
+ <field name="attendee_ids" colspan="4" nolabel="1">
+ <tree string="Attendees" editable="bottom">
+ <field name="partner_id"/>
+ </tree>
+ </field>
+ </form>
+ </field>
+ </record> \ No newline at end of file