/var/www/html_uk/wp-content/plugins/automatewoo/includes/Actions/Subscriptions/RecalculateTaxes.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php

namespace AutomateWoo\Actions\Subscriptions;

use 
AutomateWoo\Action;

if ( ! 
defined'ABSPATH' ) ) {
    exit;
}

/**
 * Action to recalculate all taxes for a subscription.
 *
 * @since 5.4.0
 */
class RecalculateTaxes extends Action {

    
/**
     * A subscription is needed to run this action.
     *
     * @var array
     */
    
public $required_data_items = [ 'subscription' ];

    
/**
     * Explain to store admin what this action does via a unique title and description.
     */
    
public function load_admin_details() {
        
$this->title       __'Recalculate Taxes''automatewoo' );
        
$this->description __(
            
'Recalculate all taxes on a subscription based on the store\'s current tax settings. This is useful for bulk editing subscriptions when new tax rates are introduced. Tax rates are based on the subscription billing or shipping address (as set on WooCommerce > Settings > Tax > Calculate tax based on).',
            
'automatewoo'
        
);
        
$this->group       __'Subscription''automatewoo' );
    }

    
/**
     * Run the action.
     */
    
public function run() {
        
$subscription $this->workflow->data_layer()->get_subscription();
        if ( ! 
$subscription ) {
            return;
        }

        
$subscription->calculate_totalstrue );
        
$subscription->add_order_note(
            
sprintf(
                
/* translators: %1$s workflow title, %2$d workflow ID */
                
__'%1$s workflow run: recalculated taxes. (Workflow ID: %2$d)''automatewoo' ),
                
$this->workflow->get_title(),
                
$this->workflow->get_id()
            ),
            
false,
            
false
        
);
    }
}