/
TAP-253 - MS - Column header in their List View called Action - calculated field

Attention: Confluence is not suitable for the storage of highly confidential data. Please ensure that any data classified as Highly Protected is stored using a more secure platform.
If you have any questions, please refer to the University's data classification guide or contact ict.askcyber@sydney.edu.au

TAP-253 - MS - Column header in their List View called Action - calculated field

REQUIREMENTS

 

  • GA require a way to filter gifts in their List View (queue) based on whether they can action it or not

  • They have proposed a field on the GA consolidate screen that will display the status of a particular GIN object, as being ready to enter or held back for some reason, called ‘Status’

Below are the combinations of different statuses

Funding Type

Funding Sub Type

Funds Received

Supporting Documentation

Status

Philanthropic grant (Research)

New Philanthropic Grant(Pledge)

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Philanthropic grant (Research)

New Philanthropic Grant(Pledge)

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Philanthropic grant (Research)

New Philanthropic Grant(Pledge)

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Philanthropic grant (Research)

New Philanthropic Grant(Pledge)

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Philanthropic grant (Non Research)

New Philanthropic Grant(Pledge)

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Philanthropic grant (Non Research)

New Philanthropic Grant(Pledge)

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Philanthropic grant (Non Research)

New Philanthropic Grant(Pledge)

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Philanthropic grant (Non Research)

New Philanthropic Grant(Pledge)

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

New One off Gift 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

New One off Gift 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

New Pledge

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

New Pledge

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(one Off) 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(Pledge) 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(one Off) 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(Pledge) 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

New One off Gift 

Funds Received:No

Supporting Documentation:Yes

Held:Awaiting Funds

Gift to USYD (Affiliated Org)

New One off Gift 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Funds and Signed Docs

Gift to USYD (Affiliated Org)

New Pledge

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

New Pledge

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(one Off) 

Funds Received:No

Supporting Documentation:Yes

Held:Awaiting Funds

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(Pledge) 

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(one Off) 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Funds and Signed Docs

Gift to USYD (Affiliated Org)

Supplementary Top Up Gift(Pledge) 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

New One off Gift 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD

New Pledge

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD

Supplementary Top Up Gift(one Off) 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD

Supplementary Top Up Gift(Pledge) 

Funds Received:Yes

Supporting Documentation:Yes

Ready to enter

Gift to USYD

New One off Gift 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

New Pledge

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

Supplementary Top Up Gift(one Off) 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

Supplementary Top Up Gift(Pledge) 

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

Supplementary Top Up Grant(Pledge)

Funds Received:Yes

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

New One off Gift 

Funds Received:No

Supporting Documentation:Yes

Held:Awaiting Funds

Gift to USYD

New Pledge

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Gift to USYD

Supplementary Top Up Gift(one Off) 

Funds Received:No

Supporting Documentation:Yes

Held:Awaiting Funds

Gift to USYD

Supplementary Top Up Gift(Pledge) 

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Gift to USYD

New One off Gift 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Funds and Signed Docs

Gift to USYD

New Pledge

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

Supplementary Top Up Gift(one Off) 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Funds and Signed Docs

Gift to USYD

Supplementary Top Up Gift(Pledge) 

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

Gift to USYD

Gift In Kind

Funds Received:No

Supporting Documentation:Yes

Ready to enter

Gift to USYD

Gift In Kind

Funds Received:No

Supporting Documentation:No

Held: Awaiting Signed Docs

 

Minor Modification to description in funding sub-type picklist as set out below

Changes to Picklist values

Note: Sub-Type picklist field is at Opportunity level

Supplementary Top Up Gift

divide in two (one off gift and pledge)

 

Create new picklist values:

 

Supplementary Top Up Gift (Pledge)

 

Supplementary Top Up Gift (One Off Gift)

 

Note: Don’t deactivate the existing value “Supplementary Top Up Gift” yet once the business review existing one with the value they will update to new values.

 

New Philanthropic Grant

Add (Pledge) to description 

 

Update the existing value “New Philanthropic Grant” to “New Philanthropic Frant Pledge”

Supplementary Top Up Grant

Add (Pledge) to description 

 

Update the existing value “Supplementary Top Up Grant” to “Supplementary Top Up Grant Pledge”

 

IMPLEMENTATION

Requirement #1 - Minor Modification to description in  Sub-type <AQC_Sub_type__c> picklist in Opportunity object

  1. Created the 2 new picklist values:

  • Supplementary Top Up Gift (Pledge)

  • Supplementary Top Up Gift (One Off Gift)

Deployment Note: Include the picklist assignment to the 3 Opportunity record types [Gift/Pledge, Gift in Will, Unsolicited] 

2. Update the existing picklist labels below: 

  • “New Philanthropic Grant” to “New Philanthropic Grant (Pledge)

  • “Supplementary Top Up Grant” to “Supplementary Top Up Grant (Pledge)

 

Requirement #2 - GA requires a way to filter gifts in their List View (queue) based on whether they can action it or not. They have proposed a field on the GA consolidate screen that will display the status of a particular GIN object, as being ready to enter or held back for some reason, called ‘Status’.

  1. Create a new picklist field called “Status” in Gift Implementation object having the following values:

  • Ready to enter

  • Held: Awaiting Funds and Signed Docs

  • Held: Awaiting Signed Docs

  • Held:Awaiting Funds

  • Held

  • Held-awaiting confirmation of banking name

2. Create a new metadata type called “Gift Implementation Status Matrix” 

3. Create the 5 custom fields below in the new metadata

  • Funding Sub Type - Text(255)

  • Funding Type - Text(255)

  • Funds Received - Picklist

  • Yes

  • No

  • Supporting Documentation - Checkbox

  • Status - Picklist

  • Held: Awaiting Funds and Signed Docs

  • Held: Awaiting Signed Docs

  • Held:Awaiting Funds

  • Ready to enter

  • Held

  • Held-awaiting confirmation of banking name

4. Insert all the combinations as records in the metadata

5. Create a flow called “Update Gift Implementation Status” that will be triggered once the Gift Implementation object is created/updated having these components below:

  • Start - configure component to start executing when record is new or updated

  • Get Record - component that fetches a record from the metadata based on the following filter: Funding Sub Type, Funding Type, Funds Received and Supporting Documentation

  • Decision -  component should be configured to only include gift implementation records that are newly created or any of these 4 fields (Funding type, funding sub-type, funds received and supporting document) being updated that calculate the status. 

Note: This is to make the manual updating of the status applicable

  • Update Record - component will update the “Status” of the Gift Implementation record with the equivalent status coming from the fetched status from metadata record. This will only be executed if the decision is true (new gift implementation record or update on the record is only on those 4 fields)

6. Updated the Gift Implementation Status upon opportunity change of Funding type or Funding Sub-type, we need to create another automation (flow/trigger).

Note: Test class will be included if trigger automation is the final approach

7. Added the new field to the List view (GA Consolidate) in Gift Implementation object

8. Added the new field to the Gift Implementation Layout

 

UNIT TESTING STEPS

Scenarios

#1 Update the Funds Received or Supporting Doc Signed by Donor Received field to an existing Gift Implementation record

  1. Log in as a GA (Gift Administration) user (user with this Permission Set Group: Gift_Administration)

  2. Go to Gift Implementation tab

  3. Select any Gift Implementation record

  4. Update the Supporting Doc Signed by Donor Received → True and Save.

Expected Output: The Status field will be updated to “Ready to Enter” based on the fetched metadata record equivalent to the combination.

Actual Output: Status was updated to “Ready to Enter”.

#2 Create a new Gift Implementation record and check Status field

  1. Log in as a GA (Gift Administration) user

  2. Go to any existing Opportunity record

  3. Create a new Related Gift Implementation record

  4. Set the Funds Received? → No

 

Expected Output: A combination is found from the Metadata with these fields:

Funding Type: Gift to USYD

Funding Sub-Type: New Pledge

Funds Received?: No

Supporting Doc Signed by Donor Received: Not Check

Equivalent Status: Held: Awaiting Signed Docs

Actual Output: Status is set “Held: Awaiting Signed Docs” upon creation.

#3 [Negative Testing] Update the Type or Sub-type of the parent Opportunity of the Gift Implementation record

  1. Log in as a GA (Gift Administration) user

  2. Go to Gift Implementation tab

  3. Select any Gift Implementation record

  4. Open the parent Opportunity of the Gift Implementation

  5. Update the Type of the opportunity into a no-combination Status from the metadata records

 

Expected Output: As there is no equivalent combination of Funding Type ( Philanthropic grant (Non Research)) and Sub-type (New Pledge) from the Metadata, the Status of the Gift Implementation record will be blank.

Actual Output: Status field from Gift Implementation record is Blank.

 

COMPONENTS ADDED/MODIFIED

Component Name

API Name

Type

Parent Object

Operation (New/Update)

Usyd_Opportunity_BeforeInsert

Usyd_Opportunity_BeforeInsert

Trigger

Opportunity

Update

Usyd_OpportunityTriggerHandler

Usyd_OpportunityTriggerHandler

Apex Class

N/A

New

Usyd_OpportunityTriggerHandlerTest

Usyd_OpportunityTriggerHandlerTest

Apex Class

N/A

New

Usyd_Update Gift Implementation Status

Usyd_Update_Gift_Implementation_Status

Flow

Gift Implementation

New

Gift Implementation Status Matrix

Gift_Implementation_Status_Matrix__mdt

Metadata

N/A

New

Status

Status__c

Field

Gift Implementation

New

Sub-type

AQC_Sub_type__c

Field

Opportunity

Update

Gift Implementation Status

Gift_Implementation_Status

Global Value Set

N/A

New

GA Consolidate

GA_Consolidate

List View

Gift Implementation

Update

Gift Implementation Layout

Gift Implementation Layout

Page Layout

Gift Implementation

Update

Gift/Pledge

Gift/Pledge

Record Type

Gift Implementation

Update

Gifts in Will

Gifts in Will

Record Type

Gift Implementation

Update

Unsolicited

Unsolicited

Record Type

Gift Implementation

Update

AQC Opportunity to Gift

AQC_Opportunity_to_Gift

Permission Set

N/A

Update

Combination01

Combination01

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination02

Combination02

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination03

Combination03

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination04

Combination04

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination05

Combination05

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination06

Combination06

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination07

Combination07

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination08

Combination08

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination09

Combination09

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination10

Combination10

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination11

Combination11

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination12

Combination12

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination13

Combination13

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination14

Combination14

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination15

Combination15

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination16

Combination16

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination17

Combination17

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination18

Combination18

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination19

Combination19

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination20

Combination20

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination21

Combination21

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination22

Combination22

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination23

Combination23

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination24

Combination24

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination25

Combination25

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination26

Combination26

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination27

Combination27

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination28

Combination28

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination29

Combination29

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination30

Combination30

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination31

Combination31

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination32

Combination32

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination33

Combination33

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination34

Combination34

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination35

Combination35

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination36

Combination36

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination37

Combination37

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination38

Combination38

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination39

Combination39

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination40

Combination40

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination41

Combination41

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination42

Combination42

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination43

Combination43

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination44

Combination44

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination45

Combination45

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination46

Combination46

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination47

Combination47

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination48

Combination48

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination49

Combination49

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination50

Combination50

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

Combination51

Combination51

Custom Metadata Type Record

Gift_Implementation_Status_Matrix__mdt

New

 

PRE DEPLOYMENT STEPS

Extract report in PROD for Opportunities with Sub-type "Supplementary/Top Up Gift" with the following fields:

  • ID

  • Name

  • Stage

  • Sub-type

Rename the existing picklist values:

Existing Value

Rename

Purpose

Existing Value

Rename

Purpose

New Philanthropic Grant (Pledge)

New Philanthropic Grant

To make way for the update of picklist api names. This will be deactivated once the new picklist api names will be deployed

Supplementary Top Up Grant (Pledge)

Supplementary Top Up Grant

To make way for the update of picklist api names. This will be deactivated once the new picklist api names will be deployed

POST DEPLOYMENT STEPS - Removed as this is done as part of deployment

Note: As Gift/Pledge record type is a managed packaged, we cannot update the picklist values from the CI/CD or metadata itself. Thus, this step will have to be performed manually.

  1. Go to Setup and Object Manager

  2. Open Opportunity Object

  3. Select record types

  4. Under Picklists Available for Editing section, click Edit button beside the Sub-type field

  5. Add the following picklist values to the Selected Values section

    1. Supplementary Top Up Gift (Pledge)

    2. Supplementary Top Up Gift (One Off Gift)

Since the renaming of the API names of the picklist values are treated as new picklists to the Sub-type field in Opportunity object, We also need to manually add the new picklist values in the Gift/Pledge record type.

6. Add the following picklist values to the Selected Values section

a. New Philanthropic Grant (Pledge)

b. Supplementary Top Up Grant (Pledge)

 

Related content

Gift Implementation Unit Testing
Gift Implementation Unit Testing
More like this
TAP-1108: MS - Creating a Pledge Payment Status field on Transaction object
TAP-1108: MS - Creating a Pledge Payment Status field on Transaction object
More like this
TAPSS-1088 / TAP-57: MS - As a system support, we need to replicate the special category alert existing in Advance
TAPSS-1088 / TAP-57: MS - As a system support, we need to replicate the special category alert existing in Advance
Read with this
April R1 Fortnightly TAP Release
April R1 Fortnightly TAP Release
More like this