class PaymentBalanceCondition in Ubercart 8.4
Provides 'Order payment balance' condition.
Plugin annotation
@Condition(
  id = "uc_payment_condition_order_balance",
  label = @Translation("Check the order balance"),
  category = @Translation("Payment"),
  context_definitions = {
    "order" = @ContextDefinition("entity:uc_order",
      label = @Translation("Order")
    ),
    "balance_comparison" = @ContextDefinition("string",
      label = @Translation("Operator"),
      description = @Translation("The comparison operator."),
      list_options_callback = "balanceOptions",
      assignment_restriction = "input"
    ),
    "include_authorizations" = @ContextDefinition("boolean",
      label = @Translation("Include authorizations?"),
      description = @Translation("Should 'authorization only' credit card transactions be used in calculating the order balance?"),
      list_options_callback = "booleanOptions",
      assignment_restriction = "input"
    )
  }
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait- class \Drupal\Core\Executable\ExecutablePluginBase implements ExecutableInterface- class \Drupal\Core\Condition\ConditionPluginBase implements ConditionInterface uses ContextAwarePluginAssignmentTrait- class \Drupal\rules\Core\RulesConditionBase implements RulesConditionInterface uses ContextProviderTrait, ConfigurationAccessControlTrait, ExecutablePluginTrait- class \Drupal\uc_payment\Plugin\Condition\PaymentBalanceCondition
 
 
- class \Drupal\rules\Core\RulesConditionBase implements RulesConditionInterface uses ContextProviderTrait, ConfigurationAccessControlTrait, ExecutablePluginTrait
 
- class \Drupal\Core\Condition\ConditionPluginBase implements ConditionInterface uses ContextAwarePluginAssignmentTrait
 
- class \Drupal\Core\Executable\ExecutablePluginBase implements ExecutableInterface
 
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
 
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
Expanded class hierarchy of PaymentBalanceCondition
File
- payment/uc_payment/ src/ Plugin/ Condition/ PaymentBalanceCondition.php, line 34 
Namespace
Drupal\uc_payment\Plugin\ConditionView source
class PaymentBalanceCondition extends RulesConditionBase {
  /**
   * {@inheritdoc}
   */
  public function summary() {
    return $this
      ->t("Check an order's payment balance");
  }
  /**
   * Returns balance options.
   */
  public function balanceOptions() {
    $zero = [
      '@zero' => uc_currency_format(0),
    ];
    $options = [
      'less' => $this
        ->t('Balance is less than @zero.', $zero),
      'less_equal' => $this
        ->t('Balance is less than or equal to @zero.', $zero),
      'equal' => $this
        ->t('Balance is equal to @zero.', $zero),
      'greater' => $this
        ->t('Balance is greater than @zero.', $zero),
    ];
    return $options;
  }
  /**
   * Returns a TRUE/FALSE option set for boolean types.
   *
   * @return array
   *   A TRUE/FALSE options array.
   */
  public function booleanOptions() {
    return [
      0 => $this
        ->t('No'),
      1 => $this
        ->t('Yes'),
    ];
  }
  /**
   * Condition: Check the current order balance.
   *
   * @param \Drupal\uc_order\OrderInterface $order
   *   The order to check.
   * @param string $balance_comparison
   *   What kind of comparison to make.
   * @param bool $include_authorizations
   *   Whether to include "authorization only" payments in the comparison.
   *
   * @return bool
   *   TRUE if the order total meets the specified condition.
   */
  protected function doEvaluate(OrderInterface $order, $balance_comparison, $include_authorizations) {
    $balance = uc_payment_balance($order);
    if ($include_authorizations) {
      foreach ((array) $order->data->cc_txns['authorizations'] as $auth_id => $data) {
        $balance -= $data['amount'];
      }
    }
    switch ($balance_comparison) {
      case 'less':
        return $balance < 0;
      case 'less_equal':
        return $balance <= 0.01;
      case 'equal':
        return $balance < 0.01 && $balance > -0.01;
      case 'greater':
        return $balance >= 0.01;
    }
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| ConditionPluginBase:: | protected | property | The condition manager to proxy execute calls through. | |
| ConditionPluginBase:: | public | function | Form constructor. Overrides PluginFormInterface:: | 5 | 
| ConditionPluginBase:: | public | function | Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: | |
| ConditionPluginBase:: | public | function | Gets default configuration for this plugin. Overrides ConfigurableInterface:: | 5 | 
| ConditionPluginBase:: | public | function | Executes the plugin. Overrides ExecutableInterface:: | |
| ConditionPluginBase:: | public | function | Gets this plugin's configuration. Overrides ConfigurableInterface:: | |
| ConditionPluginBase:: | public | function | Determines whether condition result will be negated. Overrides ConditionInterface:: | |
| ConditionPluginBase:: | public | function | Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: | |
| ConditionPluginBase:: | public | function | Sets the executable manager class. Overrides ConditionInterface:: | |
| ConditionPluginBase:: | public | function | Form submission handler. Overrides PluginFormInterface:: | 5 | 
| ConditionPluginBase:: | public | function | Form validation handler. Overrides PluginFormInterface:: | |
| ConditionPluginBase:: | public | function | Overrides \Drupal\Component\Plugin\PluginBase::__construct(). Overrides ContextAwarePluginBase:: | 4 | 
| ConfigurationAccessControlTrait:: | public | function | Checks configuration permission. | |
| ContextAwarePluginAssignmentTrait:: | protected | function | Builds a form element for assigning a context to a given slot. | |
| ContextAwarePluginAssignmentTrait:: | protected | function | Wraps the context handler. | |
| ContextAwarePluginAssignmentTrait:: | abstract protected | function | Ensures the t() method is available. | |
| ContextAwarePluginBase:: | protected | property | The data objects representing the context of this plugin. | |
| ContextAwarePluginBase:: | private | property | Data objects representing the contexts passed in the plugin configuration. | |
| ContextAwarePluginBase:: | protected | function | Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | The cache contexts associated with this object. Overrides CacheableDependencyInterface:: | 9 | 
| ContextAwarePluginBase:: | public | function | The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: | 7 | 
| ContextAwarePluginBase:: | public | function | The cache tags associated with this object. Overrides CacheableDependencyInterface:: | 4 | 
| ContextAwarePluginBase:: | public | function | This code is identical to the Component in order to pick up a different
Context class. Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | Gets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: | |
| ContextAwarePluginBase:: | public | function | Gets the defined contexts. Overrides ContextAwarePluginInterface:: | |
| ContextAwarePluginBase:: | public | function | Gets the values for all defined contexts. Overrides ContextAwarePluginInterface:: | |
| ContextAwarePluginBase:: | public | function | Set a context on this plugin. Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | Sets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: | |
| ContextAwarePluginBase:: | public | function | Sets the value for a defined context. Overrides ContextAwarePluginBase:: | |
| ContextAwarePluginBase:: | public | function | Validates the set values for the defined contexts. Overrides ContextAwarePluginInterface:: | |
| ContextAwarePluginBase:: | public | function | Implements magic __get() method. | |
| ContextProviderTrait:: | protected | property | The data objects that are provided by this plugin. | |
| ContextProviderTrait:: | public | function | ||
| ContextProviderTrait:: | public | function | ||
| ContextProviderTrait:: | public | function | ||
| ContextProviderTrait:: | public | function | ||
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| ExecutablePluginBase:: | public | function | Gets all configuration values. | |
| ExecutablePluginBase:: | public | function | Gets the definition of a configuration option. | |
| ExecutablePluginBase:: | public | function | Gets an array of definitions of available configuration options. | |
| ExecutablePluginBase:: | public | function | Sets the value of a particular configuration option. | |
| ExecutablePluginTrait:: | protected | function | Get the translated label from the plugin definition. | |
| PaymentBalanceCondition:: | public | function | Returns balance options. | |
| PaymentBalanceCondition:: | public | function | Returns a TRUE/FALSE option set for boolean types. | |
| PaymentBalanceCondition:: | protected | function | Condition: Check the current order balance. | |
| PaymentBalanceCondition:: | public | function | Get the translated summary from the label annotation. Overrides ExecutablePluginTrait:: | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| RulesConditionBase:: | public | function | Asserts additional metadata for the selected data. Overrides ContextAwarePluginInterface:: | 1 | 
| RulesConditionBase:: | public | function | Evaluates the condition and returns TRUE or FALSE accordingly. Overrides ConditionInterface:: | 5 | 
| RulesConditionBase:: | public | function | Gets the value for a defined context. Overrides ContextAwarePluginBase:: | |
| RulesConditionBase:: | public | function | Negates the result after evaluating this condition. Overrides RulesConditionInterface:: | |
| RulesConditionBase:: | public | function | Refines used and provided context definitions based upon context values. Overrides ContextAwarePluginInterface:: | 1 | 
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| TypedDataTrait:: | protected | property | The typed data manager used for creating the data types. | |
| TypedDataTrait:: | public | function | Gets the typed data manager. | 2 | 
| TypedDataTrait:: | public | function | Sets the typed data manager. | 2 | 
