Database Triggers
The following database triggers run on every MinistryPlatform system. Custom triggers may exist on specific systems.
- Add Registrants to Groups
- This trigger fires if you add a new Invoice Detail record that is associated with a Product Option Price with an Add to Group value. It enrolls the registrant in the appropriate group based on the selection made on the registration form.
- Add Responding Participant to Event or Group
- When you update a row on the Responses table and the value for Response Result is set to Placed, this trigger adds the participant making the response to the corresponding group or event listed on the Opportunity record.
- Canceling an Event
- When an individual with Edit rights to Events modifies a record and sets Cancelled to Yes, a trigger fires to add "***Cancelled***" to the event title, delete any existing rooms, equipment, or service records assigned to that event, and turn off registrations when appropriate. If the event is un-cancelled, it automatically un-cancels any Services, Rooms, and Equipment attached to the event. If the Event, Services, Rooms, and Equipment record has Approved already set to Yes, then those are not resubmitted for approval. If Approved is not set, then those records are submitted for approval. If you want those events resubmitted for approval, then Professional Services or someone on your staff with access to SQL can change the trigger to update the Approved field. The Audit Log records changes to the Event Title and Registration Active fields for the event and Cancelled fields for supporting items (Room, Equipment, Services).
- Canceling a Room Reservation
- When you edit a Room Reservation record and sets Cancelled to Yes, a trigger fires to add "***Cancelled***" to the notes for that item. The item no longer displays on double booked views and reports. The item may be able to display in the Available Room views and reports in that time slot if it's not used for another event during that time.
- Canceling an Equipment Reservation
- When you edit an Equipment Reservation record and sets Cancelled to Yes, a trigger fires to add "***Cancelled***" to the notes for that item. The item no longer displays on double-booked views and reports. The item may be able to display in Available Room views and reports in that time slot if it's not used for another event during that time.
- Canceling a Service Request
- When you edit a Room Reservation record and sets Cancelled to Yes, a trigger fires to add "***Cancelled***" to the notes for that item.
- Email Proxy Form
- This trigger exists on dp_Communication_Messages (All Recipients) and replaces the From email address on emails sent from MinistryPlatform when that email address is not part of the church domain. Use this to avoid spam filters in cases when volunteers can send emails from the Platform using their personal emails. See "Configure A Proxy Email" in the article avoiding SPAM Filters.
- End Date Group Participants
- When you update a row on the Groups table and update the Groups.End_Date value, this trigger updates the Group_Participants.End_Date value for every participant still actively involved in that group. Note: This trigger only works the first time you edit the end date.
- Insert Reciprocal Relationship
- When you insert a row into the Contact Relationships table, this trigger inserts a second row that creates the reciprocal relationship for the related contact. For example, if you add a record listing one record as the child of another record, then a row is inserted listing the second record as the parent of the first record.
- Room Reservation, Equipment Reservation, & Service Request Auto Approve
- When you insert or update an event record, this trigger fires to ensure that the following fields are synchronized with Events.__Approved for any reservation where the item in question is set to Auto Approved. Note: This depends on your Room Approval Process setup.
- Event_Rooms._Approved
- Event_Equipment._Approved
- Event_Series._Approved
- Synchronize Donor Record
- When you insert a row or update the Donors table, this trigger updates the Contacts.Donor_Record field on the Contacts page.
- Synchronize Participant Record
- When you insert a row or update the Participants table, this trigger updates the Contacts.Participant_Record field on the Contacts page.
- Synchronize User Record
- When you insert a row or update the Users table, this trigger updates the Contacts.User_Account field on the Contacts page.
- Update Reciprocal Relationship
- When you update a row on the Contact Relationships table, this trigger updates the reciprocal relationship. For example, if a contact is listed as married to another contact and you update the row to reflect a divorce, the reciprocal record is updated by this trigger.