-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexercise-computed
40 lines (39 loc) · 1.62 KB
/
exercise-computed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# HG changeset patch
# Parent a358be0a577b0569831958a8ec1302825c645dee
# Parent 59107edbe5f81bab5e7db172bf2bffa504ce399a
diff --git a/openacademy/models.py b/openacademy/models.py
--- a/openacademy/models.py
+++ b/openacademy/models.py
@@ -30,3 +30,13 @@ class Session(models.Model):
course_id = fields.Many2one('openacademy.course',
ondelete='cascade', string="Course", required=True)
attendee_ids = fields.Many2many('res.partner', string="Attendees")
+
+ taken_seats = fields.Float(string="Taken seats", compute='_taken_seats')
+
+ @api.depends('seats', 'attendee_ids')
+ def _taken_seats(self):
+ for r in self:
+ if not r.seats:
+ r.taken_seats = 0.0
+ else:
+ r.taken_seats = 100.0 * len(r.attendee_ids) / r.seats
diff --git a/openacademy/views/openacademy.xml b/openacademy/views/openacademy.xml
--- a/openacademy/views/openacademy.xml
+++ b/openacademy/views/openacademy.xml
@@ -99,6 +99,7 @@
<field name="start_date"/>
<field name="duration"/>
<field name="seats"/>
+ <field name="taken_seats" widget="progressbar"/>
</group>
</group>
<label for="attendee_ids"/>
@@ -116,6 +117,7 @@
<tree string="Session Tree">
<field name="name"/>
<field name="course_id"/>
+ <field name="taken_seats" widget="progressbar"/>
</tree>
</field>
</record>