diff --git a/bemade_fsm/__manifest__.py b/bemade_fsm/__manifest__.py
index 387b0b3..5be42f7 100644
--- a/bemade_fsm/__manifest__.py
+++ b/bemade_fsm/__manifest__.py
@@ -34,6 +34,7 @@
'sale_project',
'sale_stock',
'sale_planning',
+ 'worksheet',
'industry_fsm_stock',
'industry_fsm_report',
'bemade_partner_root_ancestor',
diff --git a/bemade_fsm/models/task.py b/bemade_fsm/models/task.py
index 4addf0c..e8ba4fc 100644
--- a/bemade_fsm/models/task.py
+++ b/bemade_fsm/models/task.py
@@ -49,6 +49,8 @@ class Task(models.Model):
visit_id = fields.Many2one(comodel_name='bemade_fsm.visit')
+ is_complete = fields.Boolean(compute="_compute_is_complete")
+
# user_id = fields.Many2one('res.users', compute='_compute_user_id')
#
# @api.depends('user_ids')
@@ -56,6 +58,26 @@ class Task(models.Model):
# for rec in self:
# rec.user_id = rec.user_ids and rec.user_ids[0] or 0
+ def _get_closed_stage_by_project(self):
+ """ Gets the stage representing completed tasks for each project in
+ self.project_id. Copied from industry_fsm/.../project.py:217-221
+ for consistency.
+
+ :returns: Dict of project.project -> project.task.type"""
+ return {
+ project:
+ project.type_ids.filtered(lambda stage: stage.is_closed)[:1]
+ or project.type_ids[-1:]
+ for project in self.project_id
+ }
+
+ @api.depends('project_id', 'stage_id.is_closed')
+ def _compute_is_complete(self):
+ closing_stages = self._get_closed_stage_by_project()
+ for rec in self:
+ rec.is_complete = rec.stage_id == (rec.project_id
+ and closing_stages[rec.project_id])
+
def _get_related_planning_slots(self):
domain = expression.AND([
self._get_domain_compute_forecast_hours(),
diff --git a/bemade_fsm/reports/worksheet_templates.xml b/bemade_fsm/reports/worksheet_templates.xml
index 3936a1b..2c43b51 100644
--- a/bemade_fsm/reports/worksheet_templates.xml
+++ b/bemade_fsm/reports/worksheet_templates.xml
@@ -7,7 +7,7 @@
qweb-pdf
bemade_fsm.worksheet_complete
- '%s Worksheet %s' % (time.now().strftime('%Y-%m-%d'),object.name)
+ '%s Worksheet %s' % (time.strftime('%Y-%m-%d'), object.name)
report
@@ -25,15 +25,15 @@
-
+
Customer:
-
Service Address:
-
@@ -46,41 +46,88 @@
-
-
Work order attn:
-
-
-
+
+
+
+
+
\ No newline at end of file