Ejemplo n.º 1
0
def sidebarvars():
    return {
        'categories': Category.query.order_by('title').all(),
        'budgets': Budget.query.order_by('title').all(),
        'report_states': ExpenseReportWorkflow.states(),
        'permissions': lastuser.permissions(),
    }
Ejemplo n.º 2
0
def sidebarvars():
    return {
        'categories': Category.query.order_by('title').all(),
        'budgets': Budget.query.order_by('title').all(),
        'report_states': ExpenseReportWorkflow.states(),
        'permissions': lastuser.permissions(),
    }
Ejemplo n.º 3
0
 def permissions(self):
     """
     Permissions available to current user.
     """
     base_permissions = super(ExpenseReportWorkflow, self).permissions()
     if self.document.user == g.user:
         base_permissions.append('owner')
     base_permissions.extend(lastuser.permissions())
     return base_permissions
Ejemplo n.º 4
0
 def permissions(self):
     """
     Permissions available to current user.
     """
     base_permissions = super(ExpenseReportWorkflow,
                              self).permissions()
     if self.document.user == g.user:
         base_permissions.append('owner')
     base_permissions.extend(lastuser.permissions())
     return base_permissions
Ejemplo n.º 5
0
def available_reports(user=None):
    if user is None:
        user = g.user
    query = ExpenseReport.query.order_by('datetime')
    if 'reviewer' in lastuser.permissions():
        # Get all reports owned by this user and in states where the user can review them
        query = ExpenseReport.query.filter(db.or_(
            ExpenseReport.user == user,
            ExpenseReport.status.in_(ExpenseReportWorkflow.reviewable.values)))
    else:
        query = ExpenseReport.query.filter_by(user=user)
    return query
Ejemplo n.º 6
0
def reports():
    # Sort reports by status
    query = ExpenseReport.query.order_by('updated_at')
    if 'reviewer' in lastuser.permissions():
        # Get all reports owned by this user and in states where the user can review them
        query = ExpenseReport.query.filter(db.or_(
            ExpenseReport.user == g.user,
            ExpenseReport.status.in_(ExpenseReportWorkflow.reviewable.value)))
    else:
        query = ExpenseReport.query.filter_by(user=g.user)
    reports = ExpenseReportWorkflow.sort_documents(query.order_by('updated_at').all())
    return render_template('reports.html', reports=reports)
Ejemplo n.º 7
0
def reports():
    # Sort reports by status
    query = ExpenseReport.query.order_by('updated_at')
    if 'reviewer' in lastuser.permissions():
        # Get all reports owned by this user and in states where the user can review them
        query = ExpenseReport.query.filter(
            db.or_(
                ExpenseReport.user == g.user,
                ExpenseReport.status.in_(
                    ExpenseReportWorkflow.reviewable.value)))
    else:
        query = ExpenseReport.query.filter_by(user=g.user)
    reports = ExpenseReportWorkflow.sort_documents(
        query.order_by('updated_at').all())
    return render_template('reports.html', reports=reports)