def get_tasks_in_date_range(group_id, personal, start_date, end_date): """Load all tasks for a given group in a daterange.""" if not ModuleAPI.can_read('pimpy'): return abort(403) if current_user.is_anonymous: flash('Huidige gebruiker niet gevonden', 'danger') return redirect(url_for('pimpy.view_tasks')) status_meanings = Task.get_status_meanings() tasks_rel = TaskUserRel.query.join(Task).join(User) groups = UserAPI.get_groups_for_current_user() groups = map(lambda x: x.id, groups) if group_id == 'all': tasks_rel = tasks_rel.filter(Task.group_id.in_(groups)) else: group_id = int(group_id) if group_id not in groups: return abort(403) tasks_rel = tasks_rel.filter(Task.group_id == group_id) if personal: tasks_rel = tasks_rel.filter(User.id == current_user.id) tasks_rel = tasks_rel.filter(~Task.status.in_((4, 5))).join(Group).\ filter(start_date <= Task.timestamp, Task.timestamp <= end_date) tasks_rel = tasks_rel.order_by(Group.name.asc(), User.first_name.asc(), User.last_name.asc(), Task.id.asc()) return Markup(render_template('pimpy/api/tasks.htm', personal=personal, group_id=group_id, tasks_rel=tasks_rel, type='tasks', status_meanings=status_meanings, title='PimPy'))
def get_all_tasks(group_id): """ Show all tasks ever made. Can specify specific group. No internal permission system made yet. Do not make routes to this module yet. """ if not ModuleAPI.can_read('pimpy'): return abort(403) if current_user.is_anonymous: flash('Huidige gebruiker niet gevonden.', 'danger') return redirect(url_for('pimpy.view_tasks')) status_meanings = Task.get_status_meanings() list_items = {} if group_id == 'all': for group in UserAPI.get_groups_for_current_user(): list_users = {} list_users['Iedereen'] = group.tasks list_items[group.name] = list_users else: list_users = {} tasks = Task.query.filter(Task.group_id == group_id).all() group = Group.query.filter(Group.id == group_id).first() if not group: return abort(404) if group not in UserAPI.get_groups_for_current_user(): return abort(403) list_users['Iedereen'] = tasks list_items[group.name] = list_users return Markup(render_template('pimpy/api/tasks.htm', list_items=list_items, type='tasks', group_id=group_id, personal=False, status_meanings=status_meanings, title='PimPy'))