def permissions(self): """ Permissions available to current user. """ base_permissions = super(InvoiceWorkflow, self).permissions() if self.document.user == g.user: base_permissions.append('owner') base_permissions.extend(lastuser.permissions()) return base_permissions
def available_invoices(workspace, user=None): if user is None: user = g.user query = Invoice.getw(workspace) # FIXME+TODO: Replace with per-workspace permissions if 'reviewer' in lastuser.permissions(): # Get all invoices owned by this user and in states where the user can review them query = query.filter(db.or_( Invoice.user == user, Invoice.status.in_(InvoiceWorkflow.reviewable.values))) else: query = query.filter_by(user=user) return query
def sidebarvars(): if hasattr(g, "user"): # More access control? org_ids = g.user.organizations_memberof_ids() else: org_ids = [] workspaces = Workspace.query.filter(Workspace.userid.in_(org_ids)).order_by("title").all() if hasattr(g, "workspace"): return { "workspaces": workspaces, "categories": Category.get(g.workspace).order_by("title").all(), "invoice_states": InvoiceWorkflow.states(), "permissions": lastuser.permissions(), } else: return {"workspaces": workspaces}
def sidebarvars(): if hasattr(g, 'user') and g.user: # More access control? org_ids = g.user.organizations_memberof_ids() else: org_ids = [] workspaces = Workspace.query.filter(Workspace.userid.in_(org_ids)).order_by('title').all() if hasattr(g, 'workspace'): return { 'workspaces': workspaces, 'categories': Category.get(g.workspace).order_by('title').all(), 'invoice_states': InvoiceWorkflow.states(), 'permissions': lastuser.permissions() } else: return { 'workspaces': workspaces, }