Added facility to return a task list by employee

This commit is contained in:
Sharoon Thomas 2012-12-14 14:55:40 +05:30
parent d835a4ab20
commit 8a51305b82
2 changed files with 23 additions and 0 deletions

View File

@ -15,6 +15,7 @@ import json
import warnings
import dateutil
import calendar
from collections import defaultdict
from datetime import datetime, date
from dateutil.relativedelta import relativedelta
from itertools import groupby, chain, cycle
@ -1105,6 +1106,22 @@ class Project(ModelSQL, ModelView):
'project/global-timesheet.jinja', employees=employees
)
@login_required
@permissions_required(['project.admin'])
def render_tasks_by_employee(self):
open_task_ids = self.search(
[('state', '=', 'opened')], order=[('assigned_to', 'ASC')]
)
tasks_by_employee_by_state = defaultdict(lambda a: defaultdict(list))
for task in self.browse(open_task_ids):
tasks_by_employee_by_state[task.assigned_to][
task.progress_state
].append(task)
return render_template(
'project/tasks-by-employee.jinja',
tasks_by_employee_by_state=tasks_by_employee_by_state
)
@login_required
def render_timesheet(self, project_id):
project = self.get_project(project_id)

View File

@ -51,6 +51,12 @@
<field name="sequence" eval="10" />
<field name="url_map" ref="nereid.default_url_map" />
</record>
<record id="tasks_by_employee" model="nereid.url_rule">
<field name="rule">/&lt;language&gt;/tasks-by-employee</field>
<field name="endpoint">project.work.render_tasks_by_employee</field>
<field name="sequence" eval="10" />
<field name="url_map" ref="nereid.default_url_map" />
</record>
<record id="project_task_list" model="nereid.url_rule">
<field name="rule">/&lt;language&gt;/project-&lt;int:project_id&gt;/task-list</field>
<field name="endpoint">project.work.render_task_list</field>