Merge branch 'forms-filtering' into 'development'
Show countries for delivery process forms. Refactor countries. See merge request saburly/wiaas/new-wiaas!76
This commit was merged in pull request #76.
This commit is contained in:
@@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Wiaas_Admin_Countries {
|
||||||
|
|
||||||
|
public static function init() {
|
||||||
|
|
||||||
|
// Add countries fields to countries list
|
||||||
|
add_filter( 'manage_edit-product_country_columns', array( __CLASS__, 'update_list_headers' ) );
|
||||||
|
add_filter( 'manage_product_country_custom_column', array( __CLASS__, 'update_list_column_content' ), 10, 3 );
|
||||||
|
|
||||||
|
// Validate country settings
|
||||||
|
add_filter('acf/load_field/name=_wiaas_country_code', array(__CLASS__, 'populate_country_codes'));
|
||||||
|
add_filter('acf/load_field/name=_wiaas_country_currency', array(__CLASS__, 'populate_country_currencies'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function update_list_headers($columns) {
|
||||||
|
$columns['wiaas_code'] = __( 'Code', 'wiaas' );
|
||||||
|
|
||||||
|
$columns['wiaas_vat'] = __('VAT', 'wiaas');
|
||||||
|
|
||||||
|
$columns['wiaas_currency'] = __('Currency', 'wiaas');
|
||||||
|
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function update_list_column_content($columns, $column, $id) {
|
||||||
|
|
||||||
|
if ($column === 'wiaas_code') {
|
||||||
|
|
||||||
|
$code = get_term_meta($id, '_wiaas_country_code', true);
|
||||||
|
$columns .= '<span>'. $code . '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($column === 'wiaas_vat') {
|
||||||
|
|
||||||
|
$vat = get_term_meta($id, '_wiaas_country_vat', true);
|
||||||
|
$columns .= '<span>'. $vat . '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($column === 'wiaas_currency') {
|
||||||
|
|
||||||
|
$currency = get_term_meta($id, '_wiaas_country_currency', true);
|
||||||
|
$columns .= '<span>'. $currency . '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function populate_country_codes($field) {
|
||||||
|
$countries_list = Wiaas_Countries::get_country_choices();
|
||||||
|
|
||||||
|
$countries_choices = array();
|
||||||
|
foreach ($countries_list as $code => $name) {
|
||||||
|
|
||||||
|
$countries_choices[$code] = $code . ' - ' . $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
$field['choices'] = $countries_choices;
|
||||||
|
|
||||||
|
return $field;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function populate_country_currencies($field) {
|
||||||
|
|
||||||
|
$field['choices'] = Wiaas_Countries::get_currency_choices();
|
||||||
|
|
||||||
|
return $field;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Wiaas_Admin_Countries::init();
|
||||||
@@ -7,6 +7,7 @@ class Wiaas_Admin_Delivery_Process {
|
|||||||
require_once dirname( __FILE__ ) . '/delivery-process/wiaas-admin-delivery-process-ajax.php';
|
require_once dirname( __FILE__ ) . '/delivery-process/wiaas-admin-delivery-process-ajax.php';
|
||||||
require_once dirname( __FILE__ ) . '/delivery-process/class-wiaas-admin-delivery-process-flow.php';
|
require_once dirname( __FILE__ ) . '/delivery-process/class-wiaas-admin-delivery-process-flow.php';
|
||||||
require_once dirname( __FILE__ ) . '/delivery-process/class-wiaas-admin-delivery-process-order.php';
|
require_once dirname( __FILE__ ) . '/delivery-process/class-wiaas-admin-delivery-process-order.php';
|
||||||
|
require_once dirname( __FILE__ ) . '/delivery-process/class-wiaas-admin-delivery-process-list.php';
|
||||||
|
|
||||||
add_action( 'admin_enqueue_scripts', array(__CLASS__, 'enqueue_scripts'), 100 );
|
add_action( 'admin_enqueue_scripts', array(__CLASS__, 'enqueue_scripts'), 100 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,150 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Wiaas_Admin_Delivery_Process_List {
|
||||||
|
|
||||||
|
public static function init() {
|
||||||
|
|
||||||
|
add_filter('gform_form_list_columns', array( __CLASS__, 'filter_gform_form_list_columns' ));
|
||||||
|
|
||||||
|
add_filter('gform_form_list_forms', array( __CLASS__, 'filter_gform_form_list_forms' ), 10, 6);
|
||||||
|
|
||||||
|
add_filter('gform_form_actions', array( __CLASS__, 'filter_gform_form_actions' ), 10, 2);
|
||||||
|
|
||||||
|
add_action('gform_form_list_column_wiaas_country', array( __CLASS__, 'render_gform_form_list_wiaas_country_column' ));
|
||||||
|
|
||||||
|
add_action('gform_form_list_column_wiaas_actions', array( __CLASS__, 'render_gform_form_list_wiaas_actions_column' ));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide not needed columns for delivery process list
|
||||||
|
* Add country column
|
||||||
|
* Add actions column
|
||||||
|
*
|
||||||
|
* @param array $columns
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function filter_gform_form_list_columns($columns) {
|
||||||
|
|
||||||
|
unset($columns['entry_count']);
|
||||||
|
unset($columns['conversion']);
|
||||||
|
unset($columns['view_count']);
|
||||||
|
|
||||||
|
$columns['wiaas_country'] = esc_html__( 'Country', 'wiaas' );
|
||||||
|
$columns['wiaas_actions'] = esc_html__( 'Actions', 'wiaas' );
|
||||||
|
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter delivery process forms list with search query by title and country
|
||||||
|
* @param array $forms
|
||||||
|
* @param string $search_query
|
||||||
|
* @param bool $active
|
||||||
|
* @param string $sort_column
|
||||||
|
* @param string $sort_direction
|
||||||
|
* @param bool $trash
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function filter_gform_form_list_forms($forms, $search_query, $active, $sort_column, $sort_direction, $trash) {
|
||||||
|
|
||||||
|
$forms = GFFormsModel::get_forms( $active, $sort_column, $sort_direction, $trash );
|
||||||
|
|
||||||
|
if ( ! rgblank( $search_query ) ) {
|
||||||
|
|
||||||
|
$filtered_forms = array();
|
||||||
|
$search_query = strtolower($search_query);
|
||||||
|
|
||||||
|
// filter forms
|
||||||
|
foreach ($forms as $form) {
|
||||||
|
|
||||||
|
$form_details = GFAPI::get_form( $form->id );
|
||||||
|
|
||||||
|
$title = strtolower($form_details['title']);
|
||||||
|
|
||||||
|
$delivery_settings = rgar($form_details, 'wiaas_delivery_process');
|
||||||
|
$country_code = ! empty($delivery_settings) ? $delivery_settings['delivery_country'] : '';
|
||||||
|
$country_name = Wiaas_Countries::get_available_country_name_by_code($country_code);
|
||||||
|
$country_name = strtolower($country_name);
|
||||||
|
|
||||||
|
if (strpos($title, $search_query) !== false || strpos($country_code, $search_query) !== false ||
|
||||||
|
strpos($country_name, $search_query) !== false) {
|
||||||
|
$filtered_forms[] = $form;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $filtered_forms;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $forms;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove unused actions and add workflow action for delivery forms list
|
||||||
|
*
|
||||||
|
* @param array $actions
|
||||||
|
* @param int $form_id
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function filter_gform_form_actions($actions, $form_id) {
|
||||||
|
unset($actions['entries']);
|
||||||
|
unset($actions['preview']);
|
||||||
|
unset($actions['edit']);
|
||||||
|
|
||||||
|
$actions['wiaas_workflow'] = array(
|
||||||
|
'label' => __( 'Workflow', 'wiaas' ),
|
||||||
|
'short_label' => esc_html__( 'Workflow', 'wiaas' ),
|
||||||
|
'title' => __( 'Edit workflow', 'wiaas' ),
|
||||||
|
'url' => '?page=gf_edit_forms&view=settings&id=' . $form_id . '&subview=gravityflow',
|
||||||
|
'priority' => 1000,
|
||||||
|
);
|
||||||
|
|
||||||
|
return $actions;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render country column for delivery process forms list
|
||||||
|
*
|
||||||
|
* @param mixed $form
|
||||||
|
*/
|
||||||
|
public static function render_gform_form_list_wiaas_country_column($form) {
|
||||||
|
|
||||||
|
$form_details = GFAPI::get_form($form->id);
|
||||||
|
$delivery_settings = rgar($form_details, 'wiaas_delivery_process');
|
||||||
|
|
||||||
|
$country_code = ! empty($delivery_settings) ? $delivery_settings['delivery_country'] : '';
|
||||||
|
|
||||||
|
$country_name = Wiaas_Countries::get_available_country_name_by_code($country_code);
|
||||||
|
|
||||||
|
echo '<strong>' . esc_html_e($country_name) . '</strong>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render actions column for delivery process forms list
|
||||||
|
* @param mixed $form
|
||||||
|
*/
|
||||||
|
public static function render_gform_form_list_wiaas_actions_column($form) {
|
||||||
|
|
||||||
|
$form_details = GFAPI::get_form($form->id);
|
||||||
|
$delivery_settings = rgar($form_details, 'wiaas_delivery_process');
|
||||||
|
|
||||||
|
$form_type = ! empty($delivery_settings) ? $delivery_settings['delivery_form_type'] : '';
|
||||||
|
|
||||||
|
?>
|
||||||
|
<a href="<?php echo '?page=gf_edit_forms&view=settings&id=' . $form->id . '&subview=gravityflow' ?>">Workflow</a>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if ($form_type !== 'action') {
|
||||||
|
|
||||||
|
?>
|
||||||
|
<span style="margin: 0 10px; opacity: 0.3;"> | </span>
|
||||||
|
<a href="<?php echo '?page=gf_edit_forms&view=settings&id=' . $form->id . '&subview=wiaas_delivery_process' ?>">Change Country</a>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Wiaas_Admin_Delivery_Process_List::init();
|
||||||
@@ -58,11 +58,9 @@ class Wiaas_Admin_Delivery_Process_Order {
|
|||||||
|
|
||||||
if ( empty($process_entry) ) {
|
if ( empty($process_entry) ) {
|
||||||
|
|
||||||
$order = wc_get_order($order_id);
|
$country_code = Wiaas_Order::get_order_country_code($order_id);
|
||||||
|
|
||||||
$list_of_delivery_processes = Wiaas_Delivery_Process::get_available_process_list_for_country(
|
$list_of_delivery_processes = Wiaas_Delivery_Process::get_available_process_list_for_country($country_code);
|
||||||
Wiaas_Countries::get_country_code_by_currency($order->get_currency())
|
|
||||||
);
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Wiass_REST_User_API {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static function get_countries(){
|
public static function get_countries(){
|
||||||
$countries = Wiaas_Countries::get_list_of_countries();
|
$countries = Wiaas_Countries::get_available_countries();
|
||||||
|
|
||||||
return rest_ensure_response($countries);
|
return rest_ensure_response($countries);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ class Wiaas_Admin {
|
|||||||
|
|
||||||
require_once dirname(__FILE__) . '/admin/class-wiaas-admin-user-profile.php';
|
require_once dirname(__FILE__) . '/admin/class-wiaas-admin-user-profile.php';
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/admin/class-wiaas-admin-countries.php';
|
||||||
|
|
||||||
add_action( 'admin_enqueue_scripts', array(__CLASS__, 'enqueue_scripts'), 100 );
|
add_action( 'admin_enqueue_scripts', array(__CLASS__, 'enqueue_scripts'), 100 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -492,6 +492,8 @@ class Wiaas_Cart {
|
|||||||
$country = get_user_meta(get_current_user_id(), '_wiaas_cart_items_country', true);
|
$country = get_user_meta(get_current_user_id(), '_wiaas_cart_items_country', true);
|
||||||
$currency = empty($country) ? get_woocommerce_currency() : $country['currency'];
|
$currency = empty($country) ? get_woocommerce_currency() : $country['currency'];
|
||||||
|
|
||||||
|
$order->add_meta_data('_wiaas_country_code', $country['code']);
|
||||||
|
|
||||||
$order->set_currency($currency);
|
$order->set_currency($currency);
|
||||||
|
|
||||||
// get order commercial lead
|
// get order commercial lead
|
||||||
|
|||||||
@@ -12,28 +12,19 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||||||
class Wiaas_Countries {
|
class Wiaas_Countries {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Available countries for wiaas
|
* Default available countries for wiaas
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
private static $available_countries = array(
|
private static $default_countries = array(
|
||||||
'Sweden' => array(
|
'se' => array(
|
||||||
'id' => 1,
|
|
||||||
'name' => 'Sweden',
|
|
||||||
'code' => 'se',
|
|
||||||
'vat' => 9 ,
|
'vat' => 9 ,
|
||||||
'currency' => 'SEK'
|
'currency' => 'SEK'
|
||||||
),
|
),
|
||||||
'Denmark' => array(
|
'dk' => array(
|
||||||
'id' => 2,
|
|
||||||
'name' => 'Denmark',
|
|
||||||
'code' => 'dk',
|
|
||||||
'vat' => 9 ,
|
'vat' => 9 ,
|
||||||
'currency' => 'DKK'
|
'currency' => 'DKK'
|
||||||
),
|
),
|
||||||
'Finland' => array(
|
'fi' => array(
|
||||||
'id' => 3,
|
|
||||||
'name' => 'Finland',
|
|
||||||
'code' => 'fi',
|
|
||||||
'vat' => 9 ,
|
'vat' => 9 ,
|
||||||
'currency' => 'EUR'
|
'currency' => 'EUR'
|
||||||
),
|
),
|
||||||
@@ -44,31 +35,97 @@ class Wiaas_Countries {
|
|||||||
add_action('woocommerce_after_register_taxonomy', array(__CLASS__, 'register_product_countries_taxonomy'));
|
add_action('woocommerce_after_register_taxonomy', array(__CLASS__, 'register_product_countries_taxonomy'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get_list_of_countries(){
|
/**
|
||||||
$result = [];
|
* Retrieve all possible country choices
|
||||||
foreach(self::$available_countries as $country){
|
*
|
||||||
array_push($result, array(
|
* @return array
|
||||||
'country_id' => $country['id'],
|
*/
|
||||||
'country_name' => $country['name']
|
public static function get_country_choices() {
|
||||||
));
|
$countries = new WC_Countries();
|
||||||
|
$choices = array();
|
||||||
|
|
||||||
|
foreach ($countries->get_countries() as $code => $name) {
|
||||||
|
$choices[strtolower($code)] = $name;
|
||||||
}
|
}
|
||||||
return $result;
|
|
||||||
|
return $choices;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get_country_name_by_id($id){
|
/**
|
||||||
foreach(self::$available_countries as $country){
|
* Retrieve all possible currency choices
|
||||||
if ($country['id'] == $id) return $country['name'];
|
*
|
||||||
}
|
* @return array
|
||||||
return '';
|
*/
|
||||||
|
public static function get_currency_choices() {
|
||||||
|
return get_woocommerce_currencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get_country_code_by_currency($currency) {
|
/**
|
||||||
|
* Retrieve list of available countries setup by administrator
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function get_available_countries() {
|
||||||
|
$available_countries = [];
|
||||||
|
|
||||||
foreach (self::$available_countries as $country) {
|
$available_country_terms = get_terms(array(
|
||||||
|
'taxonomy' => 'product_country',
|
||||||
|
'hide_empty' => false,
|
||||||
|
));
|
||||||
|
|
||||||
if ($country['currency'] === $currency) {
|
foreach($available_country_terms as $country_term) {
|
||||||
|
$code = get_term_meta($country_term->term_id, '_wiaas_country_code', true);
|
||||||
|
$currency = get_term_meta($country_term->term_id, '_wiaas_country_currency', true);
|
||||||
|
$vat = get_term_meta($country_term->term_id, '_wiaas_country_vat', true);
|
||||||
|
|
||||||
return $country['code'];
|
$available_countries[] = array(
|
||||||
|
'id' => $country_term->term_id,
|
||||||
|
'name' => $country_term->name,
|
||||||
|
'code' => $code,
|
||||||
|
'currency' => $currency,
|
||||||
|
'vat' => $vat
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $available_countries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve country name by code for available country
|
||||||
|
*
|
||||||
|
* @param string $code
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public static function get_available_country_name_by_code($code) {
|
||||||
|
$available_countries = self::get_available_countries();
|
||||||
|
|
||||||
|
foreach ($available_countries as $available_country) {
|
||||||
|
|
||||||
|
if ($available_country['code'] === $code) {
|
||||||
|
|
||||||
|
return $available_country['name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve country code by currency for available country
|
||||||
|
*
|
||||||
|
* @param string $currency
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public static function get_available_country_code_by_currency($currency) {
|
||||||
|
$available_countries = self::get_available_countries();
|
||||||
|
|
||||||
|
foreach ($available_countries as $available_country) {
|
||||||
|
|
||||||
|
if ($available_country['currency'] === $currency) {
|
||||||
|
|
||||||
|
return $available_country['code'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,8 +163,27 @@ class Wiaas_Countries {
|
|||||||
|
|
||||||
register_taxonomy( 'product_country', array( 'product' ), $args );
|
register_taxonomy( 'product_country', array( 'product' ), $args );
|
||||||
|
|
||||||
foreach (self::$available_countries as $available_country) {
|
$choices = self::get_country_choices();
|
||||||
wp_insert_term($available_country['name'], 'product_country');
|
|
||||||
|
foreach (self::$default_countries as $code => $info) {
|
||||||
|
|
||||||
|
$name = $choices[$code];
|
||||||
|
|
||||||
|
if (has_term($name)) {
|
||||||
|
// bail out
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$name = $choices[$code];
|
||||||
|
$result = wp_insert_term($name, 'product_country');
|
||||||
|
|
||||||
|
if (is_wp_error($result)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
update_term_meta($result->term_id, '_wiaas_country_code', $code);
|
||||||
|
update_term_meta($result->term_id, '_wiaas_country_currency', $info['currency']);
|
||||||
|
update_term_meta($result->term_id, '_wiaas_country_vat', $info['vat']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,10 +204,25 @@ class Wiaas_Countries {
|
|||||||
* @return array|null
|
* @return array|null
|
||||||
*/
|
*/
|
||||||
public static function get_product_country($product) {
|
public static function get_product_country($product) {
|
||||||
$product_country = get_the_terms($product->get_id(), 'product_country');
|
$country_terms = get_the_terms($product->get_id(), 'product_country');
|
||||||
return is_array($product_country) && isset($product_country[0]) ?
|
|
||||||
self::$available_countries[$product_country[0]->name] :
|
if (is_wp_error($country_terms) || empty($country_terms) || empty($country_terms[0])) {
|
||||||
null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$country_term = $country_terms[0];
|
||||||
|
|
||||||
|
$code = get_term_meta($country_term->term_id, '_wiaas_country_code', true);
|
||||||
|
$currency = get_term_meta($country_term->term_id, '_wiaas_country_currency', true);
|
||||||
|
$vat = get_term_meta($country_term->term_id, '_wiaas_country_vat', true);
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'id' => $country_term->term_id,
|
||||||
|
'name' => $country_term->name,
|
||||||
|
'code' => $code,
|
||||||
|
'currency' => $currency,
|
||||||
|
'vat' => $vat
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -18,15 +18,18 @@ class Wiaas_DB_Update {
|
|||||||
'20181018044450' => 'wiaas_db_setup_create_customer_commercial_lead_table',
|
'20181018044450' => 'wiaas_db_setup_create_customer_commercial_lead_table',
|
||||||
'20181018054450' => 'wiaas_db_update_update_commercial_lead_capabilities',
|
'20181018054450' => 'wiaas_db_update_update_commercial_lead_capabilities',
|
||||||
'20181018064450' => 'wiaas_db_update_add_organization_info_ui_fields',
|
'20181018064450' => 'wiaas_db_update_add_organization_info_ui_fields',
|
||||||
'20191019014550' => 'wiaas_db_update_add_general_ui_fields',
|
'20181019014550' => 'wiaas_db_update_add_general_ui_fields',
|
||||||
'20191019014650' => 'wiaas_db_update_add_product_properties_ui_fields',
|
'20181019014650' => 'wiaas_db_update_add_product_properties_ui_fields',
|
||||||
'20191020014650' => 'wiaas_create_organization_roles_capabilities',
|
'20181020014650' => 'wiaas_create_organization_roles_capabilities',
|
||||||
'20191030162450' => 'wiaas_db_update_update_supplier_order_capabilities',
|
'20181021162450' => 'wiaas_db_update_update_supplier_order_capabilities',
|
||||||
'20191102112451' => 'wiaas_disable_processing_order_email_delivery',
|
'20181102112451' => 'wiaas_disable_processing_order_email_delivery',
|
||||||
'20191131172850' => 'wiaas_db_update_update_delivery_forms',
|
'20181103172850' => 'wiaas_db_update_update_delivery_forms',
|
||||||
'20191131182856' => 'wiaas_db_update_enable_workflow_inbox_for_roles',
|
'20181104182856' => 'wiaas_db_update_enable_workflow_inbox_for_roles',
|
||||||
'20191201133550' => 'wiaas_db_update_add_bundle_properties_ui_field',
|
'20181105133550' => 'wiaas_db_update_add_bundle_properties_ui_field',
|
||||||
'20191202133553' => 'wiaas_db_update_add_installation_date_delivery_action_form'
|
'20181106133553' => 'wiaas_db_update_add_installation_date_delivery_action_form',
|
||||||
|
'20181125133553' => 'wiaas_db_update_add_country_settings_ui_fields',
|
||||||
|
'20181125143553' => 'wiaas_db_migration_fix_user_profile_addresses', // remove after migration
|
||||||
|
'20181125153553' => 'wiaas_db_migration_fix_countries' // remove after migration
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function execute() {
|
public static function execute() {
|
||||||
|
|||||||
@@ -402,6 +402,21 @@ class Wiaas_Order {
|
|||||||
return get_post_meta($order_id, '_wiaas_tender', true);
|
return get_post_meta($order_id, '_wiaas_tender', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function get_order_country_code($order_id) {
|
||||||
|
|
||||||
|
$order = wc_get_order($order_id);
|
||||||
|
|
||||||
|
$code = $order->get_meta('_wiaas_country_code');
|
||||||
|
|
||||||
|
if (empty($code)) {
|
||||||
|
$code = Wiaas_Countries::get_available_country_code_by_currency($order->get_currency());
|
||||||
|
$order->add_meta_data('_wiaas_country_code', $code);
|
||||||
|
$order->save_meta_data();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $code;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PRIVATE
|
* PRIVATE
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,501 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"key": "group_5bdad38fcebee",
|
||||||
|
"title": "Country settings",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"key": "field_5bdad398384e1",
|
||||||
|
"label": "Code",
|
||||||
|
"name": "_wiaas_country_code",
|
||||||
|
"type": "select",
|
||||||
|
"instructions": "",
|
||||||
|
"required": 1,
|
||||||
|
"conditional_logic": 0,
|
||||||
|
"wrapper": {
|
||||||
|
"width": "",
|
||||||
|
"class": "",
|
||||||
|
"id": ""
|
||||||
|
},
|
||||||
|
"choices": {
|
||||||
|
"ax": "ax - Åland Islands",
|
||||||
|
"af": "af - Afghanistan",
|
||||||
|
"al": "al - Albania",
|
||||||
|
"dz": "dz - Algeria",
|
||||||
|
"as": "as - American Samoa",
|
||||||
|
"ad": "ad - Andorra",
|
||||||
|
"ao": "ao - Angola",
|
||||||
|
"ai": "ai - Anguilla",
|
||||||
|
"aq": "aq - Antarctica",
|
||||||
|
"ag": "ag - Antigua and Barbuda",
|
||||||
|
"ar": "ar - Argentina",
|
||||||
|
"am": "am - Armenia",
|
||||||
|
"aw": "aw - Aruba",
|
||||||
|
"au": "au - Australia",
|
||||||
|
"at": "at - Austria",
|
||||||
|
"az": "az - Azerbaijan",
|
||||||
|
"bs": "bs - Bahamas",
|
||||||
|
"bh": "bh - Bahrain",
|
||||||
|
"bd": "bd - Bangladesh",
|
||||||
|
"bb": "bb - Barbados",
|
||||||
|
"by": "by - Belarus",
|
||||||
|
"pw": "pw - Belau",
|
||||||
|
"be": "be - Belgium",
|
||||||
|
"bz": "bz - Belize",
|
||||||
|
"bj": "bj - Benin",
|
||||||
|
"bm": "bm - Bermuda",
|
||||||
|
"bt": "bt - Bhutan",
|
||||||
|
"bo": "bo - Bolivia",
|
||||||
|
"bq": "bq - Bonaire, Saint Eustatius and Saba",
|
||||||
|
"ba": "ba - Bosnia and Herzegovina",
|
||||||
|
"bw": "bw - Botswana",
|
||||||
|
"bv": "bv - Bouvet Island",
|
||||||
|
"br": "br - Brazil",
|
||||||
|
"io": "io - British Indian Ocean Territory",
|
||||||
|
"vg": "vg - British Virgin Islands",
|
||||||
|
"bn": "bn - Brunei",
|
||||||
|
"bg": "bg - Bulgaria",
|
||||||
|
"bf": "bf - Burkina Faso",
|
||||||
|
"bi": "bi - Burundi",
|
||||||
|
"kh": "kh - Cambodia",
|
||||||
|
"cm": "cm - Cameroon",
|
||||||
|
"ca": "ca - Canada",
|
||||||
|
"cv": "cv - Cape Verde",
|
||||||
|
"ky": "ky - Cayman Islands",
|
||||||
|
"cf": "cf - Central African Republic",
|
||||||
|
"td": "td - Chad",
|
||||||
|
"cl": "cl - Chile",
|
||||||
|
"cn": "cn - China",
|
||||||
|
"cx": "cx - Christmas Island",
|
||||||
|
"cc": "cc - Cocos (Keeling) Islands",
|
||||||
|
"co": "co - Colombia",
|
||||||
|
"km": "km - Comoros",
|
||||||
|
"cg": "cg - Congo (Brazzaville)",
|
||||||
|
"cd": "cd - Congo (Kinshasa)",
|
||||||
|
"ck": "ck - Cook Islands",
|
||||||
|
"cr": "cr - Costa Rica",
|
||||||
|
"hr": "hr - Croatia",
|
||||||
|
"cu": "cu - Cuba",
|
||||||
|
"cw": "cw - Curaçao",
|
||||||
|
"cy": "cy - Cyprus",
|
||||||
|
"cz": "cz - Czech Republic",
|
||||||
|
"dk": "dk - Denmark",
|
||||||
|
"dj": "dj - Djibouti",
|
||||||
|
"dm": "dm - Dominica",
|
||||||
|
"do": "do - Dominican Republic",
|
||||||
|
"ec": "ec - Ecuador",
|
||||||
|
"eg": "eg - Egypt",
|
||||||
|
"sv": "sv - El Salvador",
|
||||||
|
"gq": "gq - Equatorial Guinea",
|
||||||
|
"er": "er - Eritrea",
|
||||||
|
"ee": "ee - Estonia",
|
||||||
|
"et": "et - Ethiopia",
|
||||||
|
"fk": "fk - Falkland Islands",
|
||||||
|
"fo": "fo - Faroe Islands",
|
||||||
|
"fj": "fj - Fiji",
|
||||||
|
"fi": "fi - Finland",
|
||||||
|
"fr": "fr - France",
|
||||||
|
"gf": "gf - French Guiana",
|
||||||
|
"pf": "pf - French Polynesia",
|
||||||
|
"tf": "tf - French Southern Territories",
|
||||||
|
"ga": "ga - Gabon",
|
||||||
|
"gm": "gm - Gambia",
|
||||||
|
"ge": "ge - Georgia",
|
||||||
|
"de": "de - Germany",
|
||||||
|
"gh": "gh - Ghana",
|
||||||
|
"gi": "gi - Gibraltar",
|
||||||
|
"gr": "gr - Greece",
|
||||||
|
"gl": "gl - Greenland",
|
||||||
|
"gd": "gd - Grenada",
|
||||||
|
"gp": "gp - Guadeloupe",
|
||||||
|
"gu": "gu - Guam",
|
||||||
|
"gt": "gt - Guatemala",
|
||||||
|
"gg": "gg - Guernsey",
|
||||||
|
"gn": "gn - Guinea",
|
||||||
|
"gw": "gw - Guinea-Bissau",
|
||||||
|
"gy": "gy - Guyana",
|
||||||
|
"ht": "ht - Haiti",
|
||||||
|
"hm": "hm - Heard Island and McDonald Islands",
|
||||||
|
"hn": "hn - Honduras",
|
||||||
|
"hk": "hk - Hong Kong",
|
||||||
|
"hu": "hu - Hungary",
|
||||||
|
"is": "is - Iceland",
|
||||||
|
"in": "in - India",
|
||||||
|
"id": "id - Indonesia",
|
||||||
|
"ir": "ir - Iran",
|
||||||
|
"iq": "iq - Iraq",
|
||||||
|
"ie": "ie - Ireland",
|
||||||
|
"im": "im - Isle of Man",
|
||||||
|
"il": "il - Israel",
|
||||||
|
"it": "it - Italy",
|
||||||
|
"ci": "ci - Ivory Coast",
|
||||||
|
"jm": "jm - Jamaica",
|
||||||
|
"jp": "jp - Japan",
|
||||||
|
"je": "je - Jersey",
|
||||||
|
"jo": "jo - Jordan",
|
||||||
|
"kz": "kz - Kazakhstan",
|
||||||
|
"ke": "ke - Kenya",
|
||||||
|
"ki": "ki - Kiribati",
|
||||||
|
"kw": "kw - Kuwait",
|
||||||
|
"kg": "kg - Kyrgyzstan",
|
||||||
|
"la": "la - Laos",
|
||||||
|
"lv": "lv - Latvia",
|
||||||
|
"lb": "lb - Lebanon",
|
||||||
|
"ls": "ls - Lesotho",
|
||||||
|
"lr": "lr - Liberia",
|
||||||
|
"ly": "ly - Libya",
|
||||||
|
"li": "li - Liechtenstein",
|
||||||
|
"lt": "lt - Lithuania",
|
||||||
|
"lu": "lu - Luxembourg",
|
||||||
|
"mo": "mo - Macao S.A.R., China",
|
||||||
|
"mk": "mk - Macedonia",
|
||||||
|
"mg": "mg - Madagascar",
|
||||||
|
"mw": "mw - Malawi",
|
||||||
|
"my": "my - Malaysia",
|
||||||
|
"mv": "mv - Maldives",
|
||||||
|
"ml": "ml - Mali",
|
||||||
|
"mt": "mt - Malta",
|
||||||
|
"mh": "mh - Marshall Islands",
|
||||||
|
"mq": "mq - Martinique",
|
||||||
|
"mr": "mr - Mauritania",
|
||||||
|
"mu": "mu - Mauritius",
|
||||||
|
"yt": "yt - Mayotte",
|
||||||
|
"mx": "mx - Mexico",
|
||||||
|
"fm": "fm - Micronesia",
|
||||||
|
"md": "md - Moldova",
|
||||||
|
"mc": "mc - Monaco",
|
||||||
|
"mn": "mn - Mongolia",
|
||||||
|
"me": "me - Montenegro",
|
||||||
|
"ms": "ms - Montserrat",
|
||||||
|
"ma": "ma - Morocco",
|
||||||
|
"mz": "mz - Mozambique",
|
||||||
|
"mm": "mm - Myanmar",
|
||||||
|
"na": "na - Namibia",
|
||||||
|
"nr": "nr - Nauru",
|
||||||
|
"np": "np - Nepal",
|
||||||
|
"nl": "nl - Netherlands",
|
||||||
|
"nc": "nc - New Caledonia",
|
||||||
|
"nz": "nz - New Zealand",
|
||||||
|
"ni": "ni - Nicaragua",
|
||||||
|
"ne": "ne - Niger",
|
||||||
|
"ng": "ng - Nigeria",
|
||||||
|
"nu": "nu - Niue",
|
||||||
|
"nf": "nf - Norfolk Island",
|
||||||
|
"kp": "kp - North Korea",
|
||||||
|
"mp": "mp - Northern Mariana Islands",
|
||||||
|
"no": "no - Norway",
|
||||||
|
"om": "om - Oman",
|
||||||
|
"pk": "pk - Pakistan",
|
||||||
|
"ps": "ps - Palestinian Territory",
|
||||||
|
"pa": "pa - Panama",
|
||||||
|
"pg": "pg - Papua New Guinea",
|
||||||
|
"py": "py - Paraguay",
|
||||||
|
"pe": "pe - Peru",
|
||||||
|
"ph": "ph - Philippines",
|
||||||
|
"pn": "pn - Pitcairn",
|
||||||
|
"pl": "pl - Poland",
|
||||||
|
"pt": "pt - Portugal",
|
||||||
|
"pr": "pr - Puerto Rico",
|
||||||
|
"qa": "qa - Qatar",
|
||||||
|
"re": "re - Reunion",
|
||||||
|
"ro": "ro - Romania",
|
||||||
|
"ru": "ru - Russia",
|
||||||
|
"rw": "rw - Rwanda",
|
||||||
|
"st": "st - São Tomé and Príncipe",
|
||||||
|
"bl": "bl - Saint Barthélemy",
|
||||||
|
"sh": "sh - Saint Helena",
|
||||||
|
"kn": "kn - Saint Kitts and Nevis",
|
||||||
|
"lc": "lc - Saint Lucia",
|
||||||
|
"sx": "sx - Saint Martin (Dutch part)",
|
||||||
|
"mf": "mf - Saint Martin (French part)",
|
||||||
|
"pm": "pm - Saint Pierre and Miquelon",
|
||||||
|
"vc": "vc - Saint Vincent and the Grenadines",
|
||||||
|
"ws": "ws - Samoa",
|
||||||
|
"sm": "sm - San Marino",
|
||||||
|
"sa": "sa - Saudi Arabia",
|
||||||
|
"sn": "sn - Senegal",
|
||||||
|
"rs": "rs - Serbia",
|
||||||
|
"sc": "sc - Seychelles",
|
||||||
|
"sl": "sl - Sierra Leone",
|
||||||
|
"sg": "sg - Singapore",
|
||||||
|
"sk": "sk - Slovakia",
|
||||||
|
"si": "si - Slovenia",
|
||||||
|
"sb": "sb - Solomon Islands",
|
||||||
|
"so": "so - Somalia",
|
||||||
|
"za": "za - South Africa",
|
||||||
|
"gs": "gs - South Georgia\/Sandwich Islands",
|
||||||
|
"kr": "kr - South Korea",
|
||||||
|
"ss": "ss - South Sudan",
|
||||||
|
"es": "es - Spain",
|
||||||
|
"lk": "lk - Sri Lanka",
|
||||||
|
"sd": "sd - Sudan",
|
||||||
|
"sr": "sr - Suriname",
|
||||||
|
"sj": "sj - Svalbard and Jan Mayen",
|
||||||
|
"sz": "sz - Swaziland",
|
||||||
|
"se": "se - Sweden",
|
||||||
|
"ch": "ch - Switzerland",
|
||||||
|
"sy": "sy - Syria",
|
||||||
|
"tw": "tw - Taiwan",
|
||||||
|
"tj": "tj - Tajikistan",
|
||||||
|
"tz": "tz - Tanzania",
|
||||||
|
"th": "th - Thailand",
|
||||||
|
"tl": "tl - Timor-Leste",
|
||||||
|
"tg": "tg - Togo",
|
||||||
|
"tk": "tk - Tokelau",
|
||||||
|
"to": "to - Tonga",
|
||||||
|
"tt": "tt - Trinidad and Tobago",
|
||||||
|
"tn": "tn - Tunisia",
|
||||||
|
"tr": "tr - Turkey",
|
||||||
|
"tm": "tm - Turkmenistan",
|
||||||
|
"tc": "tc - Turks and Caicos Islands",
|
||||||
|
"tv": "tv - Tuvalu",
|
||||||
|
"ug": "ug - Uganda",
|
||||||
|
"ua": "ua - Ukraine",
|
||||||
|
"ae": "ae - United Arab Emirates",
|
||||||
|
"gb": "gb - United Kingdom (UK)",
|
||||||
|
"us": "us - United States (US)",
|
||||||
|
"um": "um - United States (US) Minor Outlying Islands",
|
||||||
|
"vi": "vi - United States (US) Virgin Islands",
|
||||||
|
"uy": "uy - Uruguay",
|
||||||
|
"uz": "uz - Uzbekistan",
|
||||||
|
"vu": "vu - Vanuatu",
|
||||||
|
"va": "va - Vatican",
|
||||||
|
"ve": "ve - Venezuela",
|
||||||
|
"vn": "vn - Vietnam",
|
||||||
|
"wf": "wf - Wallis and Futuna",
|
||||||
|
"eh": "eh - Western Sahara",
|
||||||
|
"ye": "ye - Yemen",
|
||||||
|
"zm": "zm - Zambia",
|
||||||
|
"zw": "zw - Zimbabwe"
|
||||||
|
},
|
||||||
|
"default_value": [],
|
||||||
|
"allow_null": 0,
|
||||||
|
"multiple": 0,
|
||||||
|
"ui": 1,
|
||||||
|
"ajax": 0,
|
||||||
|
"return_format": "value",
|
||||||
|
"placeholder": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "field_5bfc4b4fa5992",
|
||||||
|
"label": "Currency",
|
||||||
|
"name": "_wiaas_country_currency",
|
||||||
|
"type": "select",
|
||||||
|
"instructions": "",
|
||||||
|
"required": 1,
|
||||||
|
"conditional_logic": 0,
|
||||||
|
"wrapper": {
|
||||||
|
"width": "",
|
||||||
|
"class": "",
|
||||||
|
"id": ""
|
||||||
|
},
|
||||||
|
"choices": {
|
||||||
|
"AED": "United Arab Emirates dirham",
|
||||||
|
"AFN": "Afghan afghani",
|
||||||
|
"ALL": "Albanian lek",
|
||||||
|
"AMD": "Armenian dram",
|
||||||
|
"ANG": "Netherlands Antillean guilder",
|
||||||
|
"AOA": "Angolan kwanza",
|
||||||
|
"ARS": "Argentine peso",
|
||||||
|
"AUD": "Australian dollar",
|
||||||
|
"AWG": "Aruban florin",
|
||||||
|
"AZN": "Azerbaijani manat",
|
||||||
|
"BAM": "Bosnia and Herzegovina convertible mark",
|
||||||
|
"BBD": "Barbadian dollar",
|
||||||
|
"BDT": "Bangladeshi taka",
|
||||||
|
"BGN": "Bulgarian lev",
|
||||||
|
"BHD": "Bahraini dinar",
|
||||||
|
"BIF": "Burundian franc",
|
||||||
|
"BMD": "Bermudian dollar",
|
||||||
|
"BND": "Brunei dollar",
|
||||||
|
"BOB": "Bolivian boliviano",
|
||||||
|
"BRL": "Brazilian real",
|
||||||
|
"BSD": "Bahamian dollar",
|
||||||
|
"BTC": "Bitcoin",
|
||||||
|
"BTN": "Bhutanese ngultrum",
|
||||||
|
"BWP": "Botswana pula",
|
||||||
|
"BYR": "Belarusian ruble (old)",
|
||||||
|
"BYN": "Belarusian ruble",
|
||||||
|
"BZD": "Belize dollar",
|
||||||
|
"CAD": "Canadian dollar",
|
||||||
|
"CDF": "Congolese franc",
|
||||||
|
"CHF": "Swiss franc",
|
||||||
|
"CLP": "Chilean peso",
|
||||||
|
"CNY": "Chinese yuan",
|
||||||
|
"COP": "Colombian peso",
|
||||||
|
"CRC": "Costa Rican colón",
|
||||||
|
"CUC": "Cuban convertible peso",
|
||||||
|
"CUP": "Cuban peso",
|
||||||
|
"CVE": "Cape Verdean escudo",
|
||||||
|
"CZK": "Czech koruna",
|
||||||
|
"DJF": "Djiboutian franc",
|
||||||
|
"DKK": "Danish krone",
|
||||||
|
"DOP": "Dominican peso",
|
||||||
|
"DZD": "Algerian dinar",
|
||||||
|
"EGP": "Egyptian pound",
|
||||||
|
"ERN": "Eritrean nakfa",
|
||||||
|
"ETB": "Ethiopian birr",
|
||||||
|
"EUR": "Euro",
|
||||||
|
"FJD": "Fijian dollar",
|
||||||
|
"FKP": "Falkland Islands pound",
|
||||||
|
"GBP": "Pound sterling",
|
||||||
|
"GEL": "Georgian lari",
|
||||||
|
"GGP": "Guernsey pound",
|
||||||
|
"GHS": "Ghana cedi",
|
||||||
|
"GIP": "Gibraltar pound",
|
||||||
|
"GMD": "Gambian dalasi",
|
||||||
|
"GNF": "Guinean franc",
|
||||||
|
"GTQ": "Guatemalan quetzal",
|
||||||
|
"GYD": "Guyanese dollar",
|
||||||
|
"HKD": "Hong Kong dollar",
|
||||||
|
"HNL": "Honduran lempira",
|
||||||
|
"HRK": "Croatian kuna",
|
||||||
|
"HTG": "Haitian gourde",
|
||||||
|
"HUF": "Hungarian forint",
|
||||||
|
"IDR": "Indonesian rupiah",
|
||||||
|
"ILS": "Israeli new shekel",
|
||||||
|
"IMP": "Manx pound",
|
||||||
|
"INR": "Indian rupee",
|
||||||
|
"IQD": "Iraqi dinar",
|
||||||
|
"IRR": "Iranian rial",
|
||||||
|
"IRT": "Iranian toman",
|
||||||
|
"ISK": "Icelandic króna",
|
||||||
|
"JEP": "Jersey pound",
|
||||||
|
"JMD": "Jamaican dollar",
|
||||||
|
"JOD": "Jordanian dinar",
|
||||||
|
"JPY": "Japanese yen",
|
||||||
|
"KES": "Kenyan shilling",
|
||||||
|
"KGS": "Kyrgyzstani som",
|
||||||
|
"KHR": "Cambodian riel",
|
||||||
|
"KMF": "Comorian franc",
|
||||||
|
"KPW": "North Korean won",
|
||||||
|
"KRW": "South Korean won",
|
||||||
|
"KWD": "Kuwaiti dinar",
|
||||||
|
"KYD": "Cayman Islands dollar",
|
||||||
|
"KZT": "Kazakhstani tenge",
|
||||||
|
"LAK": "Lao kip",
|
||||||
|
"LBP": "Lebanese pound",
|
||||||
|
"LKR": "Sri Lankan rupee",
|
||||||
|
"LRD": "Liberian dollar",
|
||||||
|
"LSL": "Lesotho loti",
|
||||||
|
"LYD": "Libyan dinar",
|
||||||
|
"MAD": "Moroccan dirham",
|
||||||
|
"MDL": "Moldovan leu",
|
||||||
|
"MGA": "Malagasy ariary",
|
||||||
|
"MKD": "Macedonian denar",
|
||||||
|
"MMK": "Burmese kyat",
|
||||||
|
"MNT": "Mongolian tögrög",
|
||||||
|
"MOP": "Macanese pataca",
|
||||||
|
"MRO": "Mauritanian ouguiya",
|
||||||
|
"MUR": "Mauritian rupee",
|
||||||
|
"MVR": "Maldivian rufiyaa",
|
||||||
|
"MWK": "Malawian kwacha",
|
||||||
|
"MXN": "Mexican peso",
|
||||||
|
"MYR": "Malaysian ringgit",
|
||||||
|
"MZN": "Mozambican metical",
|
||||||
|
"NAD": "Namibian dollar",
|
||||||
|
"NGN": "Nigerian naira",
|
||||||
|
"NIO": "Nicaraguan córdoba",
|
||||||
|
"NOK": "Norwegian krone",
|
||||||
|
"NPR": "Nepalese rupee",
|
||||||
|
"NZD": "New Zealand dollar",
|
||||||
|
"OMR": "Omani rial",
|
||||||
|
"PAB": "Panamanian balboa",
|
||||||
|
"PEN": "Peruvian nuevo sol",
|
||||||
|
"PGK": "Papua New Guinean kina",
|
||||||
|
"PHP": "Philippine peso",
|
||||||
|
"PKR": "Pakistani rupee",
|
||||||
|
"PLN": "Polish złoty",
|
||||||
|
"PRB": "Transnistrian ruble",
|
||||||
|
"PYG": "Paraguayan guaraní",
|
||||||
|
"QAR": "Qatari riyal",
|
||||||
|
"RON": "Romanian leu",
|
||||||
|
"RSD": "Serbian dinar",
|
||||||
|
"RUB": "Russian ruble",
|
||||||
|
"RWF": "Rwandan franc",
|
||||||
|
"SAR": "Saudi riyal",
|
||||||
|
"SBD": "Solomon Islands dollar",
|
||||||
|
"SCR": "Seychellois rupee",
|
||||||
|
"SDG": "Sudanese pound",
|
||||||
|
"SEK": "Swedish krona",
|
||||||
|
"SGD": "Singapore dollar",
|
||||||
|
"SHP": "Saint Helena pound",
|
||||||
|
"SLL": "Sierra Leonean leone",
|
||||||
|
"SOS": "Somali shilling",
|
||||||
|
"SRD": "Surinamese dollar",
|
||||||
|
"SSP": "South Sudanese pound",
|
||||||
|
"STD": "São Tomé and Príncipe dobra",
|
||||||
|
"SYP": "Syrian pound",
|
||||||
|
"SZL": "Swazi lilangeni",
|
||||||
|
"THB": "Thai baht",
|
||||||
|
"TJS": "Tajikistani somoni",
|
||||||
|
"TMT": "Turkmenistan manat",
|
||||||
|
"TND": "Tunisian dinar",
|
||||||
|
"TOP": "Tongan paʻanga",
|
||||||
|
"TRY": "Turkish lira",
|
||||||
|
"TTD": "Trinidad and Tobago dollar",
|
||||||
|
"TWD": "New Taiwan dollar",
|
||||||
|
"TZS": "Tanzanian shilling",
|
||||||
|
"UAH": "Ukrainian hryvnia",
|
||||||
|
"UGX": "Ugandan shilling",
|
||||||
|
"USD": "United States (US) dollar",
|
||||||
|
"UYU": "Uruguayan peso",
|
||||||
|
"UZS": "Uzbekistani som",
|
||||||
|
"VEF": "Venezuelan bolívar",
|
||||||
|
"VND": "Vietnamese đồng",
|
||||||
|
"VUV": "Vanuatu vatu",
|
||||||
|
"WST": "Samoan tālā",
|
||||||
|
"XAF": "Central African CFA franc",
|
||||||
|
"XCD": "East Caribbean dollar",
|
||||||
|
"XOF": "West African CFA franc",
|
||||||
|
"XPF": "CFP franc",
|
||||||
|
"YER": "Yemeni rial",
|
||||||
|
"ZAR": "South African rand",
|
||||||
|
"ZMW": "Zambian kwacha"
|
||||||
|
},
|
||||||
|
"default_value": [],
|
||||||
|
"allow_null": 0,
|
||||||
|
"multiple": 0,
|
||||||
|
"ui": 1,
|
||||||
|
"ajax": 0,
|
||||||
|
"return_format": "value",
|
||||||
|
"placeholder": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "field_5bfc4b00ff8ad",
|
||||||
|
"label": "VAT",
|
||||||
|
"name": "_wiaas_country_vat",
|
||||||
|
"type": "text",
|
||||||
|
"instructions": "",
|
||||||
|
"required": 0,
|
||||||
|
"conditional_logic": 0,
|
||||||
|
"wrapper": {
|
||||||
|
"width": "",
|
||||||
|
"class": "",
|
||||||
|
"id": ""
|
||||||
|
},
|
||||||
|
"default_value": "",
|
||||||
|
"placeholder": "",
|
||||||
|
"prepend": "",
|
||||||
|
"append": "",
|
||||||
|
"maxlength": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"location": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"param": "taxonomy",
|
||||||
|
"operator": "==",
|
||||||
|
"value": "product_country"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"menu_order": 0,
|
||||||
|
"position": "side",
|
||||||
|
"style": "default",
|
||||||
|
"label_placement": "top",
|
||||||
|
"instruction_placement": "label",
|
||||||
|
"hide_on_screen": "",
|
||||||
|
"active": 1,
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -133,3 +133,101 @@ function wiaas_db_update_add_installation_date_delivery_action_form() {
|
|||||||
|
|
||||||
do_action('gform_forms_post_import', array( GFAPI::get_form($action_form_id) ));
|
do_action('gform_forms_post_import', array( GFAPI::get_form($action_form_id) ));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Remove after migration has been completed
|
||||||
|
function wiaas_db_migration_fix_user_profile_addresses() {
|
||||||
|
|
||||||
|
$users = get_users();
|
||||||
|
|
||||||
|
foreach ($users as $user) {
|
||||||
|
|
||||||
|
$billing_addresses = Wiaas_Customer::get_customer_billing_addresses($user->ID);
|
||||||
|
|
||||||
|
if (! empty($billing_addresses)) {
|
||||||
|
|
||||||
|
foreach ($billing_addresses as $index => $billing_address) {
|
||||||
|
|
||||||
|
switch ($billing_address['id_country_selected']) {
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
$billing_address['country_code'] = 'se';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$billing_address['country_code'] = 'dk';
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$billing_address['country_code'] = 'fi';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
unset($billing_address['id_country_selected']);
|
||||||
|
$billing_addresses[$index] = $billing_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
update_user_meta( $user->ID, 'billing_addresses', $billing_addresses);
|
||||||
|
}
|
||||||
|
|
||||||
|
$profile_addresses = Wiaas_Customer::get_customer_profile_addresses($user->ID);
|
||||||
|
|
||||||
|
if (! empty($profile_addresses)) {
|
||||||
|
|
||||||
|
foreach ($profile_addresses as $index => $profile_address) {
|
||||||
|
|
||||||
|
switch ($profile_address['id_country_selected']) {
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
$profile_address['country_code'] = 'se';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$profile_address['country_code'] = 'dk';
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$profile_address['country_code'] = 'fi';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
unset($profile_address['id_country_selected']);
|
||||||
|
$profile_addresses[$index] = $profile_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
update_user_meta( $user->ID, 'profile_addresses', $profile_addresses);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Remove after migration has been completed
|
||||||
|
function wiaas_db_migration_fix_countries() {
|
||||||
|
|
||||||
|
$available_country_terms = get_terms(array(
|
||||||
|
'taxonomy' => 'product_country',
|
||||||
|
'hide_empty' => false,
|
||||||
|
));
|
||||||
|
|
||||||
|
foreach($available_country_terms as $country_term) {
|
||||||
|
|
||||||
|
$code = ''; $currency = ''; $vat = '';
|
||||||
|
|
||||||
|
switch ($country_term->name) {
|
||||||
|
|
||||||
|
case 'Sweden':
|
||||||
|
$code = 'se';
|
||||||
|
$currency = 'SEK';
|
||||||
|
$vat = 9;
|
||||||
|
break;
|
||||||
|
case 'Denmark':
|
||||||
|
$code = 'dk';
|
||||||
|
$currency = 'DKK';
|
||||||
|
$vat = 9;
|
||||||
|
break;
|
||||||
|
case 'Finland':
|
||||||
|
$code = 'fi';
|
||||||
|
$currency = 'EUR';
|
||||||
|
$vat = 9;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
update_term_meta($country_term->term_id, '_wiaas_country_code', $code);
|
||||||
|
update_term_meta($country_term->term_id, '_wiaas_country_currency', $currency);
|
||||||
|
update_term_meta($country_term->term_id, '_wiaas_country_vat', $vat);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -45,6 +45,15 @@ function wiaas_db_update_add_product_properties_ui_fields() {
|
|||||||
_wiaas_import_field_group($ui_json);
|
_wiaas_import_field_group($ui_json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function wiaas_db_update_add_country_settings_ui_fields() {
|
||||||
|
|
||||||
|
$ui_json = file_get_contents( dirname( __FILE__ ) . '/data/wiaas-ui-field-country-settings.json' );
|
||||||
|
|
||||||
|
$ui_json = json_decode( $ui_json, true );
|
||||||
|
|
||||||
|
_wiaas_import_field_group($ui_json);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// private helper function
|
// private helper function
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ class Wiaas_Delivery_Process_Addon extends Gravity_Flow_Extension {
|
|||||||
|
|
||||||
protected $_slug = 'wiaas_delivery_process';
|
protected $_slug = 'wiaas_delivery_process';
|
||||||
|
|
||||||
protected $_title = 'Delivery Process';
|
protected $_title = 'Delivery Settings';
|
||||||
|
|
||||||
protected $_short_title = 'Delivery Process';
|
protected $_short_title = 'Delivery Settings';
|
||||||
|
|
||||||
|
|
||||||
public static function get_instance() {
|
public static function get_instance() {
|
||||||
@@ -125,7 +125,7 @@ class Wiaas_Delivery_Process_Addon extends Gravity_Flow_Extension {
|
|||||||
|
|
||||||
$tabs[] = array(
|
$tabs[] = array(
|
||||||
'name' => $this->_slug,
|
'name' => $this->_slug,
|
||||||
'label' => esc_html__( 'Delivery Process', 'wiaas' ),
|
'label' => esc_html__( 'Delivery Settings', 'wiaas' ),
|
||||||
'query' => array( 'fid' => null )
|
'query' => array( 'fid' => null )
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -218,14 +218,16 @@ class Wiaas_Delivery_Process_Addon extends Gravity_Flow_Extension {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$countries = Wiaas_Countries::get_available_countries();
|
||||||
|
|
||||||
|
$countries_choices = array();
|
||||||
|
foreach ($countries as $country) {
|
||||||
|
$countries_choices[] = array( 'value' => $country['code'] , 'label' => $country['name'] );
|
||||||
|
}
|
||||||
|
|
||||||
$this->settings_select(array(
|
$this->settings_select(array(
|
||||||
'name' => 'delivery_country',
|
'name' => 'delivery_country',
|
||||||
'choices' => array(
|
'choices' => $countries_choices,
|
||||||
array( 'value' => 'se', 'label' => 'Sweden' ),
|
|
||||||
array( 'value' => 'dk', 'label' => 'Denmark' ),
|
|
||||||
array( 'value' => 'fi', 'label' => 'Finland' )
|
|
||||||
),
|
|
||||||
'after_select' => '<p class="description"> Choose country for which this process is defined.</p>'
|
'after_select' => '<p class="description"> Choose country for which this process is defined.</p>'
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,9 +133,9 @@ class Wiaas_Customer {
|
|||||||
if ($new_address->id){
|
if ($new_address->id){
|
||||||
$updated = array(
|
$updated = array(
|
||||||
'id' => $new_address->id,
|
'id' => $new_address->id,
|
||||||
'country_name' => Wiaas_Countries::get_country_name_by_id($new_address->id_country_selected),
|
'country_name' => Wiaas_Countries::get_available_country_name_by_code($new_address->country_code),
|
||||||
'delivery_mail' => $new_address->delivery_mail,
|
'delivery_mail' => $new_address->delivery_mail,
|
||||||
'id_country_selected' => $new_address->id_country_selected,
|
'country_code' => $new_address->country_code,
|
||||||
'city' => $new_address->city,
|
'city' => $new_address->city,
|
||||||
'detailed_address' => $new_address->detailed_address,
|
'detailed_address' => $new_address->detailed_address,
|
||||||
'zip_code' => $new_address->zip_code,
|
'zip_code' => $new_address->zip_code,
|
||||||
@@ -152,9 +152,9 @@ class Wiaas_Customer {
|
|||||||
}else{
|
}else{
|
||||||
$new_billing_address = array(
|
$new_billing_address = array(
|
||||||
'id' => time(),
|
'id' => time(),
|
||||||
'country_name' => Wiaas_Countries::get_country_name_by_id($new_address->id_country_selected),
|
'country_name' => Wiaas_Countries::get_available_country_name_by_code($new_address->country_code),
|
||||||
'delivery_mail' => $new_address->delivery_mail,
|
'delivery_mail' => $new_address->delivery_mail,
|
||||||
'id_country_selected' => $new_address->id_country_selected,
|
'country_code' => $new_address->country_code,
|
||||||
'city' => $new_address->city,
|
'city' => $new_address->city,
|
||||||
'detailed_address' => $new_address->detailed_address,
|
'detailed_address' => $new_address->detailed_address,
|
||||||
'zip_code' => $new_address->zip_code,
|
'zip_code' => $new_address->zip_code,
|
||||||
@@ -178,9 +178,9 @@ class Wiaas_Customer {
|
|||||||
if ($new_address->id){
|
if ($new_address->id){
|
||||||
$updated = array(
|
$updated = array(
|
||||||
'id' => $new_address->id,
|
'id' => $new_address->id,
|
||||||
'country_name' => Wiaas_Countries::get_country_name_by_id($new_address->id_country_selected),
|
'country_name' => Wiaas_Countries::get_available_country_name_by_code($new_address->country_code),
|
||||||
'delivery_mail' => $new_address->delivery_mail,
|
'delivery_mail' => $new_address->delivery_mail,
|
||||||
'id_country_selected' => $new_address->id_country_selected,
|
'country_code' => $new_address->country_code,
|
||||||
'city' => $new_address->city,
|
'city' => $new_address->city,
|
||||||
'detailed_address' => $new_address->detailed_address,
|
'detailed_address' => $new_address->detailed_address,
|
||||||
'zip_code' => $new_address->zip_code,
|
'zip_code' => $new_address->zip_code,
|
||||||
@@ -197,9 +197,9 @@ class Wiaas_Customer {
|
|||||||
}else{
|
}else{
|
||||||
$new_delivery_address = array(
|
$new_delivery_address = array(
|
||||||
'id' => time(),
|
'id' => time(),
|
||||||
'country_name' => Wiaas_Countries::get_country_name_by_id($new_address->id_country_selected),
|
'country_name' => Wiaas_Countries::get_available_country_name_by_code($new_address->country_code),
|
||||||
'delivery_mail' => $new_address->delivery_mail,
|
'delivery_mail' => $new_address->delivery_mail,
|
||||||
'id_country_selected' => $new_address->id_country_selected,
|
'country_code' => $new_address->country_code,
|
||||||
'city' => $new_address->city,
|
'city' => $new_address->city,
|
||||||
'detailed_address' => $new_address->detailed_address,
|
'detailed_address' => $new_address->detailed_address,
|
||||||
'zip_code' => $new_address->zip_code,
|
'zip_code' => $new_address->zip_code,
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ class Wiass_REST_User_Api_Test extends Wiaas_Unit_Test_Case {
|
|||||||
$country = $data[0];
|
$country = $data[0];
|
||||||
$this->assertNotNull($country);
|
$this->assertNotNull($country);
|
||||||
$this->assertTrue(is_array($country));
|
$this->assertTrue(is_array($country));
|
||||||
$this->assertArrayHasKey('country_id', $country);
|
$this->assertArrayHasKey('code', $country);
|
||||||
$this->assertArrayHasKey('country_name', $country);
|
$this->assertArrayHasKey('name', $country);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,6 +106,9 @@
|
|||||||
"wp wc update",
|
"wp wc update",
|
||||||
"wp wc pb update",
|
"wp wc pb update",
|
||||||
"wp wiaas update-db"
|
"wp wiaas update-db"
|
||||||
|
],
|
||||||
|
"timestamp": [
|
||||||
|
"php -r \"print date('YmdHis') . PHP_EOL;\" "
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ export const fromWiaasAddress = (address) => {
|
|||||||
id: address.id,
|
id: address.id,
|
||||||
countryName: address.country_name,
|
countryName: address.country_name,
|
||||||
deliveryMail: address.delivery_mail,
|
deliveryMail: address.delivery_mail,
|
||||||
idCountrySelected: address.id_country_selected,
|
idCountrySelected: address.country_code,
|
||||||
city: address.city,
|
city: address.city,
|
||||||
detailedAddress: address.detailed_address,
|
detailedAddress: address.detailed_address,
|
||||||
zipCode: address.zip_code,
|
zipCode: address.zip_code,
|
||||||
@@ -18,7 +18,7 @@ export const toWiaasAddress = (address) => {
|
|||||||
id: address.id,
|
id: address.id,
|
||||||
country_name: address.countryName,
|
country_name: address.countryName,
|
||||||
delivery_mail: address.deliveryMail,
|
delivery_mail: address.deliveryMail,
|
||||||
id_country_selected: address.idCountrySelected,
|
country_code: address.idCountrySelected,
|
||||||
city: address.city,
|
city: address.city,
|
||||||
detailed_address: address.detailedAddress,
|
detailed_address: address.detailedAddress,
|
||||||
zip_code: address.zipCode,
|
zip_code: address.zipCode,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export const fromWiaasCountryList = (countryList) => {
|
export const fromWiaasCountryList = (countryList) => {
|
||||||
return {
|
return {
|
||||||
idCountry: countryList.country_id,
|
idCountry: countryList.code,
|
||||||
countryName: countryList.country_name
|
countryName: countryList.name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user