Governance Actions
February 25th, 2021
Description

There was a requirement of having to freeze an office or unpublish opportunties. The governance actions was made for this purpose.

How it works

Only AI members have the power to unpublish an opportunity. This can be done by providing a reason out of a list of constants of type unpublish_reason. The freezing of office also results in the opportunities under it getting unpublished. The reason in this case would be OfficeType Frozen.

The freezing and unfreezing of office is done by letting the team know. Once frozen, the currently active president will receive a mail. If its an LC then both the LCP and MCP will receive a mail mentioning the same. For an MC, all the LCS under it would be frozen as well. Once an office is frozen, all the opportunities under that office will also get unpublished.

Front-End

There is an existing API for unpublishing an opportunity. The change made was to the permission as well as to provide a reason and any other remarks. The reason can be selected using the constants query with type unpublish_reason. This id has to be passed as the reason for unpublishing.

opportunityUnpublish(id: 1, reason_id: 10, remarks: 'Just for fun') {
  id
  status
}

The reason_id can be obtained using the constants query.

allConstants(type_id: 'unpublish_reason') {
  id
}

Exposed is_frozen in OfficeType - This will return true or false. Use this object to know the status frozen status of committees.
X
Crafted by