Reference¶
How contributions get updated.¶
A hook_civicrm_post is added via Symfony in
civigiftaid_civigiftaid_civicrm_config(). Perhaps confusingly,
a non-symfony version of this hook is also implemented by the function
civigiftaid_civicrm_post() for a different purpose (see declarations
below).
How individuals' declarations are updated.¶
hook_civicrm_postProcess is used to store submitted form declaration
data on the session under uktaxpayer. (Note: it won't replace an
existing session value, which could be a bug if someone goes back from
confirmation page and changes it?)
Currently uses a hook_civicrm_post() that fires where the objectName is
Contribution and the operation is either edit or create. This checks
for a transaction and if one is active it schedules a callback using
PHASE_POST_COMMIT, otherwise it calls it immediately.
The callback, civigiftaid_callback_civicrm_post_contribution calls
CRM_Civigiftaid_Declaration::update($contributionID) but ensures this is
only called once for the duration of the script.
That method looks for uktaxpayer on the session, and then proceeds to
process it if found.