* fix all warnings wrt patch application & al, only warning left is only exercise-kanban being auto-guessed as an xml+django file and then lexing failed (because it's only a small snippet) * update sphinx-patchqueue to drop the requirement on mercurial for patch introspection and application, though that means application is significantly less forgiving (fuzzy application was not implemented)
57 lines
2.1 KiB
Plaintext
57 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
|
|
@@ -62,6 +62,9 @@ class Session(models.Model):
|
|
hours = fields.Float(string="Duration in hours",
|
|
compute='_get_hours', inverse='_set_hours')
|
|
|
|
+ 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:
|
|
@@ -120,6 +123,11 @@ class Session(models.Model):
|
|
for r in self:
|
|
r.duration = r.hours / 24
|
|
|
|
+ @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
|
|
@@ -155,11 +155,22 @@
|
|
</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_type">form</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"
|