def _get_number_tasks(self, cr, uid, ids, field, arg, context=None):
- result = 0
+ result = {}
+ for topic in self.browse(cr, uid, ids, context=context):
+ result[topic.id] = sum([t.number_tasks for t in topic.todolist_ids])
+ return result
+
+
+ def _get_number_tasks_done(self, cr, uid, ids, field, arg, context=None):
+ result = {}
for topic in self.browse(cr, uid, ids, context=context):
- for container in self.browse(cr, uid, ids, context=context):
- result += container.number_tasks
+ result[topic.id] = sum([t.number_tasks_done for t in topic.todolist_ids])
+ return result
+
+
+ def _progress_tasks(self, cr, uid, ids, field, arg, context=None):
+ result = {}
+ for t in self.browse(cr, uid, ids, context=context):
+ result[t.id] = t.number_tasks and t.number_tasks_done*100./t.number_tasks or 0.
return result
"todolist_ids": fields.many2many("todolist.container", "todolist_container_topic_rel", "topic_id", "Container_id", string="TO DO Lists"),
"nb_lists": fields.function(_get_nb_lists, type="integer", string="Number of lists"),
"number_tasks": fields.function(_get_number_tasks, type="integer", string="Number of lists"),
+ "number_tasks_done": fields.function(_get_number_tasks_done, type="integer", string="Number of lists"),
+ "progress_tasks": fields.function(_progress_tasks, type="float", string="Number of lists"),
}
_defaults = {