示例#1
0
def manage(request):
    """
    The manage view
    """
    estimations = Task.get_waiting_estimations().all()

    invoices = Task.get_waiting_invoices().all()

    for item in estimations:
        item.url = request.route_path(item.type_, id=item.id)

    for item in invoices:
        item.url = request.route_path(item.type_, id=item.id)

    expenses = ExpenseSheet.query()\
        .filter(ExpenseSheet.status == 'wait')\
        .order_by(ExpenseSheet.month)\
        .order_by(ExpenseSheet.status_date).all()
    for expense in expenses:
        expense.url = request.route_path("expensesheet", id=expense.id)

    user_id = request.user.id
    query = Activity.query()
    query = query.join(Activity.conseillers)
    query = query.filter(
        Activity.conseillers.any(User.id == user_id)
    )
    query = query.filter(Activity.status == 'planned')
    query = query.order_by(Activity.datetime).limit(10)
    activities = query.all()

    for activity in activities:
        activity.url = request.route_path("activity", id=activity.id)

    return dict(
        title=u"Documents en attente de validation",
        invoices=invoices,
        estimations=estimations,
        expenses=expenses,
        activities=activities,
    )