autoship_get_account_scheduled_orders_actions (function)

(src/scheduled-orders.php) Used to get account Scheduled Order actions. It takes the $order_number, $status, and $context as its parameters and returns the $actions

Function

/**
 * Get account schedule orders actions.
 * Values can be modified through {@see autoship_get_account_scheduled_orders_actions}
 * filter
 * @param  int $order_number The Autoship Schedule Order Number.
 * @param  string $status Scheduled Order instance Status.
 * @param  string $context Context in which the actions are being displayed.
 *                         Default 'orders'.
 * @return array
 */
function autoship_get_account_scheduled_orders_actions( $order_number, $status, $context = 'orders' ) {

	$actions = array(
		'Paused'    => array(
			'url'  => autoship_get_scheduled_order_status_change_url( $order_number, 'Paused' ),
      'title'=> __( 'Pause Autoship Order', 'autoship' ),
			'name' => __( 'Pause', 'autoship' ),
		),
		'Active'   => array(
			'url'  => autoship_get_scheduled_order_status_change_url( $order_number, 'Active' ),
      'title'=> __( 'Resume Autoship Order', 'autoship' ),
			'name' => __( 'Resume', 'autoship' ),
		),
		'Failed'   => array(
			'url'  => autoship_get_scheduled_order_status_change_url( $order_number, 'Failed' ),
      'title'=> __( 'Fail Autoship Order', 'autoship' ),
			'name' => __( 'Mark as Failed', 'autoship' ),
		),
		'Pending'   => array(
			'url'  => autoship_get_scheduled_order_status_change_url( $order_number, 'Pending' ),
      'title'=> __( 'Mark Autoship Order as Pending', 'autoship' ),
			'name' => __( 'Mark as Pending', 'autoship' ),
		),
		'Deleted'   => array(
			'url'  => autoship_get_scheduled_order_delete_url( $order_number ),
      'title'=> __( 'Delete Autoship Order', 'autoship' ),
			'name' => __( 'Delete', 'autoship' ),
		),
		'Edit'   => array(
			'url'  => autoship_get_scheduled_order_url( $order_number ),
      'title'=> __( 'Edit / View Autoship Order', 'autoship' ),
			'name' => __( 'Edit', 'autoship' ),
		),
		'View'   => array(
			'url'  => autoship_get_view_scheduled_order_url( $order_number ),
      'title'=> __( 'View Autoship Order', 'autoship' ),
			'name' => __( 'View', 'autoship' ),
		),
	);

  // Remove actions for non-amdins.
  // By default only admins can see other users' accounts
  if ( !autoship_rights_checker( 'autoship_admin_account_scheduled_orders_actions' ) ) {
    unset( $actions['Failed'] );
    unset( $actions['Pending'] );
  }

  // Based on current status remove non-relavent actions
  if ( isset( $actions[$status] ) )
  unset( $actions[$status] );

  if ( 'Deleted' == $status ){

    $actions = array(
      'View' => $actions['View'],
    );

  } else if ( 'Failed' == $status ) {
    unset( $actions['Paused'] );
  } else if ( 'Pending' == $status ){
    unset( $actions['Edit'] );
  } else {
    unset( $actions['View'] );
  }

	return apply_filters( 'autoship_get_account_scheduled_orders_actions', $actions, $status, $context );
}

Still need help? Contact Us Contact Us