2 # Parent a6fe4d3923db1f8f5dff2c39a711a814b0a0f549
4 Index: doc-backend/openacademy/models.py
5 ===================================================================
6 --- doc-backend.orig/openacademy/models.py 2014-08-24 12:19:27.701389167 +0200
7 +++ doc-backend/openacademy/models.py 2014-08-24 12:19:27.697389167 +0200
9 hours = fields.Float(string="Duration in hours",
10 compute='_get_hours', inverse='_set_hours')
12 + attendees_count = fields.Integer(
13 + string="Attendees count", compute='_get_attendees_count', store=True)
16 @api.depends('seats', 'attendee_ids')
17 def _taken_seats(self):
19 self.duration = self.hours / 24
22 + @api.depends('attendee_ids')
23 + def _get_attendees_count(self):
24 + self.attendees_count = len(self.attendee_ids)
27 @api.constrains('instructor_id', 'attendee_ids')
28 def _check_instructor_not_in_attendees(self):
29 if self.instructor_id and self.instructor_id in self.attendee_ids:
30 Index: doc-backend/openacademy/views/openacademy.xml
31 ===================================================================
32 --- doc-backend.orig/openacademy/views/openacademy.xml 2014-08-24 12:19:27.701389167 +0200
33 +++ doc-backend/openacademy/views/openacademy.xml 2014-08-24 12:19:27.697389167 +0200
38 + <record model="ir.ui.view" id="openacademy_session_graph_view">
39 + <field name="name">openacademy.session.graph</field>
40 + <field name="model">openacademy.session</field>
41 + <field name="arch" type="xml">
42 + <graph string="Participations by Courses">
43 + <field name="course_id"/>
44 + <field name="attendees_count" type="measure"/>
49 <record model="ir.actions.act_window" id="session_list_action">
50 <field name="name">Sessions</field>
51 <field name="res_model">openacademy.session</field>
52 <field name="view_type">form</field>
53 - <field name="view_mode">tree,form,calendar,gantt</field>
54 + <field name="view_mode">tree,form,calendar,gantt,graph</field>
57 <menuitem id="session_menu" name="Sessions"