Skip to content

Multiple approvers

At SPI, reimbursement requests must be approved by two persons: the liaison of the project the request is associated with, and a director or contractor on SPI side. Current implementation only allows for a single person to approve requests. What we need at SPI is not just approval by 2 people, it's approvals by 2 groups.

I propose the following implementation:

  • a common approver could be defined in the settings (similarly to the default approver)
  • common approver would see all requests
  • if approver in request (Request.approver_group) is the common approver, nothing changes regarding how that request is handled
  • 2 boolean fields approved_common and approved_project are added to the Request model (I think this is better than adding a ManyToMany table)
  • if approver is not the common approver, request won't move to approval until both approved_common and approved_project are true.

Before I go on with working on such an implementation, what do you think of this solution? Would it be integrated?