Global task list
This commit is contained in:
parent
998377c006
commit
d94f35fe81
45
project.py
45
project.py
|
@ -690,6 +690,51 @@ class Project(ModelSQL, ModelView):
|
|||
state_filter=state, tasks=tasks
|
||||
)
|
||||
|
||||
@login_required
|
||||
def my_tasks(self):
|
||||
"""
|
||||
Renders all tasks of the user in all projects
|
||||
"""
|
||||
tag_task_obj = Pool().get('project.work-project.work.tag')
|
||||
state = request.args.get('state', None)
|
||||
page = request.args.get('page', 1, int)
|
||||
|
||||
filter_domain = [
|
||||
('type', '=', 'task'),
|
||||
('assigned_to', '=', request.nereid_user.id)
|
||||
]
|
||||
|
||||
query = request.args.get('q', None)
|
||||
if query:
|
||||
# This search is probably the suckiest search in the
|
||||
# history of mankind in terms of scalability and utility
|
||||
# TODO: Figure out something better
|
||||
filter_domain.append(('name', 'ilike', '%%%s%%' % query))
|
||||
|
||||
tag = request.args.get('tag', None, int)
|
||||
if tag:
|
||||
filter_domain.append(('tags', '=', tag))
|
||||
|
||||
counts = {}
|
||||
counts['opened_tasks_count'] = self.search(
|
||||
filter_domain + [('state', '=', 'opened')], count=True
|
||||
)
|
||||
counts['done_tasks_count'] = self.search(
|
||||
filter_domain + [('state', '=', 'done')], count=True
|
||||
)
|
||||
counts['all_tasks_count'] = self.search(
|
||||
filter_domain, count=True
|
||||
)
|
||||
|
||||
if state and state in ('opened', 'done'):
|
||||
filter_domain.append(('state', '=', state))
|
||||
tasks = Pagination(self, filter_domain, page, 10)
|
||||
return render_template(
|
||||
'project/global-task-list.jinja',
|
||||
active_type_name='render_task_list', counts=counts,
|
||||
state_filter=state, tasks=tasks
|
||||
)
|
||||
|
||||
@login_required
|
||||
def render_task(self, task_id, project_id=None):
|
||||
"""
|
||||
|
|
6
urls.xml
6
urls.xml
|
@ -25,6 +25,12 @@
|
|||
<field name="methods">("POST",)</field>
|
||||
<field name="url_map" ref="nereid.default_url_map" />
|
||||
</record>
|
||||
<record id="global_task_list" model="nereid.url_rule">
|
||||
<field name="rule">/<language>/my-tasks</field>
|
||||
<field name="endpoint">project.work.my_tasks</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">/<language>/project-<int:project_id>/task-list</field>
|
||||
<field name="endpoint">project.work.render_task_list</field>
|
||||
|
|
Loading…
Reference in New Issue