mirror of
https://github.com/wp-graphql/wp-graphql-woocommerce.git
synced 2026-08-14 12:53:44 +02:00
TaxClassEnum implemented
This commit is contained in:
@@ -15,6 +15,7 @@ use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Catalog_Visibility;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Discount_Type;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Manage_Stock;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Stock_Status;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Tax_Class;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\Tax_Status;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPEnum\WC_Connection_Orderby_Enum;
|
||||
use WPGraphQL\Extensions\WooCommerce\Type\WPInputObject\WC_Connection_Orderby_Input;
|
||||
@@ -67,6 +68,7 @@ class Actions {
|
||||
Discount_Type::register();
|
||||
Manage_Stock::register();
|
||||
Stock_Status::register();
|
||||
Tax_Class::register();
|
||||
Tax_Status::register();
|
||||
WC_Connection_Orderby_Enum::register();
|
||||
|
||||
|
||||
@@ -116,12 +116,17 @@ class Order_Item extends Model {
|
||||
'name' => function() {
|
||||
return ! empty( $this->data->get_name() ) ? $this->data->get_name() : null;
|
||||
},
|
||||
'taxClass' => function() {
|
||||
return ! empty( $this->data->get_tax_class() ) ? $this->data->get_tax_class() : null;
|
||||
},
|
||||
'taxStatus' => function() {
|
||||
return ! empty( $this->data->get_tax_status() ) ? $this->data->get_tax_status() : null;
|
||||
},
|
||||
'taxClass' => function() {
|
||||
if ( $this->data->get_tax_status() === 'taxable' ) {
|
||||
return ! empty( $this->data->get_tax_class() )
|
||||
? $this->data->get_tax_class()
|
||||
: 'standard';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
'total' => function() {
|
||||
return ! empty( $this->data->get_total() ) ? $this->data->get_total() : null;
|
||||
},
|
||||
@@ -159,7 +164,7 @@ class Order_Item extends Model {
|
||||
: null;
|
||||
},
|
||||
'taxClass' => function() {
|
||||
return ! empty( $this->data->get_tax_class() ) ? $this->data->get_tax_class() : null;
|
||||
return is_callable( $this->data, 'get_tax_class' ) ? $this->data->get_tax_class() : 'standard';
|
||||
},
|
||||
'method_id' => function() {
|
||||
return ! empty( $this->data->get_method_id() ) ? $this->data->get_method_id() : null;
|
||||
@@ -206,9 +211,6 @@ class Order_Item extends Model {
|
||||
'quantity' => function() {
|
||||
return ! empty( $this->data->get_quantity() ) ? $this->data->get_quantity() : null;
|
||||
},
|
||||
'taxClass' => function() {
|
||||
return ! empty( $this->data->get_tax_class() ) ? $this->data->get_tax_class() : null;
|
||||
},
|
||||
'subtotal' => function() {
|
||||
return ! empty( $this->data->get_subtotal() ) ? $this->data->get_subtotal() : null;
|
||||
},
|
||||
@@ -232,6 +234,14 @@ class Order_Item extends Model {
|
||||
'taxStatus' => function() {
|
||||
return ! empty( $this->data->get_tax_status() ) ? $this->data->get_tax_status() : null;
|
||||
},
|
||||
'taxClass' => function() {
|
||||
if ( $this->data->get_tax_status() === 'taxable' ) {
|
||||
return ! empty( $this->data->get_tax_class() )
|
||||
? $this->data->get_tax_class()
|
||||
: 'standard';
|
||||
}
|
||||
return null;
|
||||
},
|
||||
)
|
||||
);
|
||||
break;
|
||||
|
||||
@@ -16,11 +16,11 @@ class Stock_Status {
|
||||
* Registers type
|
||||
*/
|
||||
public static function register() {
|
||||
$values = [
|
||||
$values = array(
|
||||
'IN_STOCK' => array( 'value' => 'instock' ),
|
||||
'OUT_OF_STOCK' => array( 'value' => 'outofstock' ),
|
||||
'ON_BACKORDER' => array( 'value' => 'onbackorder' ),
|
||||
];
|
||||
);
|
||||
|
||||
register_graphql_enum_type(
|
||||
'StockStatusEnum',
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* WPEnum Type - TaxClassEnum
|
||||
*
|
||||
* @package \WPGraphQL\Extensions\WooCommerce\Type\WPEnum
|
||||
* @since 0.0.2
|
||||
*/
|
||||
|
||||
namespace WPGraphQL\Extensions\WooCommerce\Type\WPEnum;
|
||||
|
||||
use WPGraphQL\Type\WPEnumType;
|
||||
|
||||
/**
|
||||
* Class Tax_Class
|
||||
*/
|
||||
class Tax_Class {
|
||||
/**
|
||||
* Registers type
|
||||
*/
|
||||
public static function register() {
|
||||
$values = array(
|
||||
WPEnumType::get_safe_name( 'inherit cart' ) => array(
|
||||
'value' => 'inherit',
|
||||
'description' => __( 'Inherits Tax class from cart', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
WPEnumType::get_safe_name( 'standard' ) => array(
|
||||
'value' => 'standard',
|
||||
'description' => __( 'Standard Tax rate', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
);
|
||||
|
||||
$classes = \WC_Tax::get_tax_classes();
|
||||
foreach ( $classes as $class ) {
|
||||
$values[ WPEnumType::get_safe_name( $class ) ] = array( 'value' => sanitize_title( $class ) );
|
||||
}
|
||||
|
||||
register_graphql_enum_type(
|
||||
'TaxClassEnum',
|
||||
array(
|
||||
'description' => __( 'Tax class enumeration', 'wp-graphql' ),
|
||||
'values' => $values,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -83,7 +83,7 @@ class Order_Item_Type {
|
||||
'description' => __( 'Line taxes', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'taxClass' => array(
|
||||
'type' => 'String',
|
||||
'type' => 'TaxClassEnum',
|
||||
'description' => __( 'Line tax class', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
),
|
||||
@@ -110,7 +110,7 @@ class Order_Item_Type {
|
||||
'description' => __( 'Line taxes', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'taxClass' => array(
|
||||
'type' => 'String',
|
||||
'type' => 'TaxClassEnum',
|
||||
'description' => __( 'Line tax class', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
// 'shippingMethod' => array(
|
||||
@@ -174,7 +174,7 @@ class Order_Item_Type {
|
||||
'description' => __( 'Line item\'s product quantity', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'taxClass' => array(
|
||||
'type' => 'String',
|
||||
'type' => 'TaxClassEnum',
|
||||
'description' => __( 'Line item\'s tax class', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'subtotal' => array(
|
||||
|
||||
@@ -155,7 +155,7 @@ class Product_Type {
|
||||
'description' => __( 'Tax status', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'taxClass' => array(
|
||||
'type' => 'String',
|
||||
'type' => 'TaxClassEnum',
|
||||
'description' => __( 'Tax class', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'manageStock' => array(
|
||||
|
||||
@@ -61,7 +61,7 @@ class Product_Variation_Type {
|
||||
'description' => __( 'Product variation height', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'taxClass' => array(
|
||||
'type' => 'String',
|
||||
'type' => 'TaxClassEnum',
|
||||
'description' => __( 'Product variation tax class', 'wp-graphql-woocommerce' ),
|
||||
),
|
||||
'manageStock' => array(
|
||||
|
||||
+1
@@ -2548,6 +2548,7 @@ return array(
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Discount_Type' => $baseDir . '/src/type/enum/class-discount-type.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Manage_Stock' => $baseDir . '/src/type/enum/class-manage-stock.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Stock_Status' => $baseDir . '/src/type/enum/class-stock-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Class' => $baseDir . '/src/type/enum/class-tax-class.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Status' => $baseDir . '/src/type/enum/class-tax-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\WC_Connection_Orderby_Enum' => $baseDir . '/src/type/enum/class-wc-connection-orderby-enum.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPInputObject\\WC_Connection_Orderby_Input' => $baseDir . '/src/type/input/class-wc-connection-orderby-input.php',
|
||||
|
||||
@@ -2494,6 +2494,7 @@ return array(
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Discount_Type' => $baseDir . '/src/type/enum/class-discount-type.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Manage_Stock' => $baseDir . '/src/type/enum/class-manage-stock.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Stock_Status' => $baseDir . '/src/type/enum/class-stock-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Class' => $baseDir . '/src/type/enum/class-tax-class.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Status' => $baseDir . '/src/type/enum/class-tax-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\WC_Connection_Orderby_Enum' => $baseDir . '/src/type/enum/class-wc-connection-orderby-enum.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPInputObject\\WC_Connection_Orderby_Input' => $baseDir . '/src/type/input/class-wc-connection-orderby-input.php',
|
||||
|
||||
Vendored
+1
@@ -2988,6 +2988,7 @@ class ComposerStaticInit703f21dde3c5889862ac86d8135b48b6
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Discount_Type' => __DIR__ . '/../..' . '/src/type/enum/class-discount-type.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Manage_Stock' => __DIR__ . '/../..' . '/src/type/enum/class-manage-stock.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Stock_Status' => __DIR__ . '/../..' . '/src/type/enum/class-stock-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Class' => __DIR__ . '/../..' . '/src/type/enum/class-tax-class.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\Tax_Status' => __DIR__ . '/../..' . '/src/type/enum/class-tax-status.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPEnum\\WC_Connection_Orderby_Enum' => __DIR__ . '/../..' . '/src/type/enum/class-wc-connection-orderby-enum.php',
|
||||
'WPGraphQL\\Extensions\\WooCommerce\\Type\\WPInputObject\\WC_Connection_Orderby_Input' => __DIR__ . '/../..' . '/src/type/input/class-wc-connection-orderby-input.php',
|
||||
|
||||
Reference in New Issue
Block a user