odoo/doc/howtos/backend/exercise-computed

42 lines
1.8 KiB
Plaintext
Raw Normal View History

# HG changeset patch
# Parent a358be0a577b0569831958a8ec1302825c645dee
Index: doc-backend/openacademy/models.py
===================================================================
--- doc-backend.orig/openacademy/models.py 2014-08-24 12:09:36.289375479 +0200
+++ doc-backend/openacademy/models.py 2014-08-24 12:09:59.961376027 +0200
@@ -28,3 +28,13 @@
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.one
+ @api.depends('seats', 'attendee_ids')
+ def _taken_seats(self):
+ if not self.seats:
+ self.taken_seats = 0.0
+ else:
+ self.taken_seats = 100.0 * len(self.attendee_ids) / self.seats
Index: doc-backend/openacademy/views/openacademy.xml
===================================================================
--- doc-backend.orig/openacademy/views/openacademy.xml 2014-08-24 12:09:36.289375479 +0200
+++ doc-backend/openacademy/views/openacademy.xml 2014-08-24 12:09:36.285375479 +0200
@@ -98,6 +98,7 @@
<field name="start_date"/>
<field name="duration"/>
<field name="seats"/>
+ <field name="taken_seats" widget="progressbar"/>
</group>
<separator string="Attendees" colspan="4"/>
<field name="attendee_ids" colspan="4" nolabel="1"/>
@@ -112,6 +113,7 @@
<tree string="Session Tree">
<field name="name"/>
<field name="course_id"/>
+ <field name="taken_seats" widget="progressbar"/>
</tree>
</field>
</record>