documentation/content/developer/howtos/backend/exercise-graph
2021-05-04 16:31:06 +02:00

56 lines
2.1 KiB
Plaintext

# HG changeset patch
# Parent a6fe4d3923db1f8f5dff2c39a711a814b0a0f549
# Parent 0687e07f570f363bf5005c6337e0c565a63a6bac
diff --git a/openacademy/models.py b/openacademy/models.py
--- a/openacademy/models.py
+++ b/openacademy/models.py
@@ -60,6 +60,9 @@ class Session(models.Model):
end_date = fields.Date(string="End Date", store=True,
compute='_get_end_date', inverse='_set_end_date')
+ attendees_count = fields.Integer(
+ string="Attendees count", compute='_get_attendees_count', store=True)
+
@api.depends('seats', 'attendee_ids')
def _taken_seats(self):
for r in self:
@@ -106,6 +109,11 @@ class Session(models.Model):
# so add one day to get 5 days instead
r.duration = (r.end_date - r.start_date).days + 1
+ @api.depends('attendee_ids')
+ def _get_attendees_count(self):
+ for r in self:
+ r.attendees_count = len(r.attendee_ids)
+
@api.constrains('instructor_id', 'attendee_ids')
def _check_instructor_not_in_attendees(self):
for r in self:
diff --git a/openacademy/views/openacademy.xml b/openacademy/views/openacademy.xml
--- a/openacademy/views/openacademy.xml
+++ b/openacademy/views/openacademy.xml
@@ -153,10 +153,21 @@
</field>
</record>
+ <record model="ir.ui.view" id="openacademy_session_graph_view">
+ <field name="name">openacademy.session.graph</field>
+ <field name="model">openacademy.session</field>
+ <field name="arch" type="xml">
+ <graph string="Participations by Courses">
+ <field name="course_id"/>
+ <field name="attendees_count" type="measure"/>
+ </graph>
+ </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_mode">tree,form,calendar,gantt</field>
+ <field name="view_mode">tree,form,calendar,gantt,graph</field>
</record>
<menuitem id="session_menu" name="Sessions"