Contributors: Add ability to resend confirmation email.

Fixes: #50.
This commit is contained in:
Ian Dunn 2019-10-26 10:59:06 -07:00
parent 62f5335b51
commit c10699f97c
No known key found for this signature in database
GPG key ID: 99B971B50343CBCB
3 changed files with 20 additions and 7 deletions

View file

@ -158,12 +158,14 @@ function remove_contributor( $contributor_post_id ) {
* *
* @param int $pledge_id The post ID of the pledge. * @param int $pledge_id The post ID of the pledge.
* @param string $status Optional. 'all', 'pending', or 'publish'. * @param string $status Optional. 'all', 'pending', or 'publish'.
* @param int $contributor_id Optional. Retrieve a specific contributor instead of all.
* *
* @return array An array of contributor posts. If $status is set to 'all', will be * @return array An array of contributor posts. If $status is set to 'all', will be
* a multidimensional array with keys for each status. * a multidimensional array with keys for each status.
*/ */
function get_pledge_contributors( $pledge_id, $status = 'publish' ) { function get_pledge_contributors( $pledge_id, $status = 'publish', $contributor_id = null ) {
$args = array( $args = array(
'page_id' => $contributor_id,
'post_type' => CPT_ID, 'post_type' => CPT_ID,
'post_parent' => $pledge_id, 'post_parent' => $pledge_id,
'numberposts' => -1, 'numberposts' => -1,

View file

@ -220,6 +220,13 @@ function save_pledge( $pledge_id, $pledge ) {
} }
save_pledge_meta( $pledge_id, $submitted_meta ); save_pledge_meta( $pledge_id, $submitted_meta );
if ( filter_input( INPUT_POST, 'resend-contributor-confirmation' ) ) {
PledgeForm\send_contributor_confirmation_emails(
$pledge_id,
filter_input( INPUT_GET, 'resend-contributor-id', FILTER_VALIDATE_INT )
);
}
} }
/** /**

View file

@ -31,15 +31,19 @@ namespace WordPressDotOrg\FiveForTheFuture\View;
<?php echo get_avatar( $contributor->user_email, 32 ); ?> <?php echo get_avatar( $contributor->user_email, 32 ); ?>
<?php echo esc_html( $contributor_post->post_title ); ?> <?php echo esc_html( $contributor_post->post_title ); ?>
<!-- TODO These buttons don't do anything yet. <!-- TODO These buttons don't do anything yet.
<button class="button-primary" data-action="remove" data-contributor-post="<?php echo esc_attr( $contributor_post->ID ); ?>"> <button class="button-primary" data-action="remove-contributor" data-contributor-post="<?php echo esc_attr( $contributor_post->ID ); ?>">
<?php esc_html_e( 'Remove', 'wporg' ); ?> <?php esc_html_e( 'Remove', 'wporg' ); ?>
</button> </button>
<?php if ( 'pending' === $contributor_post->post_status ) : ?>
<button class="button-secondary" data-action="resend-confirmation" data-contributor-post="<?php echo esc_attr( $contributor_post->ID ); ?>">
<?php esc_html_e( 'Resend confirmation', 'wporg' ); ?>
</button>
<?php endif; ?>
--> -->
<?php if ( 'pending' === $contributor_post->post_status ) : ?>
<?php submit_button(
'Resend Confirmation',
'secondary',
'resend-contributor-confirmation',
false,
array( 'formaction' => add_query_arg( 'resend-contributor-id', $contributor_post->ID ) )
); ?>
<?php endif; ?>
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
</ul> </ul>