[IMP] doc/howtos/backend: improve views, fix workflow
[odoo/odoo.git] / doc / howtos / backend / exercise-graph
1 # HG changeset patch
2 # Parent a6fe4d3923db1f8f5dff2c39a711a814b0a0f549
3
4 Index: addons/openacademy/models.py
5 ===================================================================
6 --- addons.orig/openacademy/models.py   2014-08-26 17:26:13.007783179 +0200
7 +++ addons/openacademy/models.py        2014-08-26 17:26:12.999783179 +0200
8 @@ -62,6 +62,9 @@
9      hours = fields.Float(string="Duration in hours",
10                           compute='_get_hours', inverse='_set_hours')
11  
12 +    attendees_count = fields.Integer(
13 +        string="Attendees count", compute='_get_attendees_count', store=True)
14 +
15      @api.one
16      @api.depends('seats', 'attendee_ids')
17      def _taken_seats(self):
18 @@ -117,6 +120,11 @@
19          self.duration = self.hours / 24
20  
21      @api.one
22 +    @api.depends('attendee_ids')
23 +    def _get_attendees_count(self):
24 +        self.attendees_count = len(self.attendee_ids)
25 +
26 +    @api.one
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: addons/openacademy/views/openacademy.xml
31 ===================================================================
32 --- addons.orig/openacademy/views/openacademy.xml       2014-08-26 17:26:13.007783179 +0200
33 +++ addons/openacademy/views/openacademy.xml    2014-08-26 17:26:12.999783179 +0200
34 @@ -155,11 +155,22 @@
35              </field>
36          </record>
37  
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"/>
45 +                </graph>
46 +            </field>
47 +        </record>
48 +
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>
55          </record>
56  
57          <menuitem id="session_menu" name="Sessions"