Send contributors the confirmation email when created by the ajax endpoint

This will only send the email for published pledges.
This commit is contained in:
Kelly Dwan 2019-11-14 14:16:39 -05:00
parent f7a253027c
commit d0dc2f0a14
No known key found for this signature in database
GPG key ID: 8BA5575F3D11575D
2 changed files with 10 additions and 2 deletions

View file

@ -135,7 +135,7 @@ function populate_list_table_columns( $column, $post_id ) {
* @param int $pledge_id The post ID of the pledge.
* @param array $contributors Array of contributor wporg usernames.
*
* @return void
* @return array List of the new contributor post IDs, mapped from username => ID.
*/
function add_pledge_contributors( $pledge_id, $contributors ) {
$results = array();
@ -162,6 +162,8 @@ function add_pledge_contributors( $pledge_id, $contributors ) {
* or an error code on failure.
*/
do_action( FiveForTheFuture\PREFIX . '_add_pledge_contributors', $pledge_id, $contributors, $results );
return $results;
}
/**

View file

@ -39,6 +39,7 @@ function handler() {
break;
case 'add-contributor':
$pledge = get_post( $pledge_id );
$new_contributors = PledgeForm\parse_contributors( $_POST['contributors'] );
if ( is_wp_error( $new_contributors ) ) {
wp_die( wp_json_encode( [
@ -46,7 +47,12 @@ function handler() {
'message' => $new_contributors->get_error_message(),
] ) );
}
Contributor\add_pledge_contributors( $pledge_id, $new_contributors );
$contributor_ids = Contributor\add_pledge_contributors( $pledge_id, $new_contributors );
if ( 'publish' === $pledge->post_status ) {
foreach ( $contributor_ids as $contributor_id ) {
PledgeForm\send_contributor_confirmation_emails( $pledge_id, $contributor_id );
}
}
// Fetch all contributors, now that the new ones have been added.
$contributors = Contributor\get_pledge_contributors_data( $pledge_id );