test academy

bzr revid: api@openerp.com-20120925091126-zdthas0x2exi1bep
This commit is contained in:
Arnaud Pineux
2012-09-25 11:11:26 +02:00
parent dfeeca1e8f
commit 6733a3f8ec
5 changed files with 144 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
import openacademy
+16
View File
@@ -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,
}
+30
View File
@@ -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'),
}
+33
View File
@@ -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>
+64
View File
@@ -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>