Considerations for Custom Triggers

Propertybase comes with a set of built-in triggers. The following documentation will give some help in case you want to create your own triggers, so you won't interfere with any of the built-in logic. The description below does not contain all logic but the logic that has to be known to avoid any conflicts with custom triggers.

Contact

  • takes care of the individual contacts and their (due to technical reasons required) shadow accounts
  • syncs pba_SystemIsIndividual__c flag of a contact and its related account
  • syncs record type of accounts and contacts (if a record type with the same name exists on both objects)
  • deletes abandoned requests once a contact is deleted

Considerations for your own triggers:

  • Don't touch the pba_SystemIsIndividual__c flag

Event

  • mirrors feedback from Favorites into showings (and vice versa)
  • mapping is specified in setting "showingsFavoriteFieldMappings" (one mapping per line: favoriteFieldName=eventFieldName)

Considerations for your own triggers:

  • Make sure not to change the fields that are mapped

Request

  • in case request gets reassigned to a new contact, makes sure all related Favorites get updated too

Considerations for your own triggers:

  • if your code makes use of the account or contact relation, make sure your code runs after the packaged code (can be forced since Propertybase v3.5.0.0)

Favorite

  • some internal field mappings

Considerations for your own triggers:

  • do not change any of the packaged fields (api name starting with pba__)

Listing

  • syncs identical fields between listing and related property

Considerations for your own triggers:

  • if you change some field values make sure your code runs before the packaged code (can be forced since Propertybase v3.5.0.0)

Offer

  • sets pba__SystemHasXXX__c fields on Listing (based on pba__SystemIsXXX__c fields on Offer and Closing)

Considerations for your own triggers:

  • if you change some pba__SystemIsXXX__c field values make sure your code runs before the packaged code (can be forced since Propertybase v3.5.0.0)

Closing

  • sets pba__SystemHasXXX__c fields on Offer (based on pba__SystemIsXXX__c fields on Closing)
  • duplicates link to listing and CurrencyIsoCode from Offer into Closing

Considerations for your own triggers:

  • if you change some pba__SystemIsXXX__c field values make sure your code runs before the packaged code (can be forced since Propertybase v3.5.0.0)
  • don't change relation to Listing or CurrencyIsoCode on this object

 

Powered by Zendesk