1
0
mirror of synced 2025-01-18 17:01:41 +03:00

Merge pull request #75 from sergeygw1990/master

v3.3.3
This commit is contained in:
Alex Lushpai 2018-08-30 16:38:49 +03:00 committed by GitHub
commit 4cf127d3d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 73 additions and 14 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/nbproject/private/
/nbproject/
/vendor/

View File

@ -1,3 +1,7 @@
## 2018-08-30 v3.3.3
* Добавлены кнопки для перехода в настройки плагина и для генерации каталога в админ-панели wordpress
* Добавлена передача статуса оплаты на v5
## 2018-08-22 v3.3.2
* Убрана проверка существования задач в wp-cron при каждой загрузке страницы
* Задачи в wp-cron теперь активируются в настройках плагина

View File

@ -1 +1 @@
3.3.2
3.3.3

View File

@ -50,7 +50,7 @@ if (!class_exists('WC_Retailcrm_Base')) {
// Actions.
add_action('woocommerce_update_options_integration_' . $this->id, array($this, 'process_admin_options'));
add_filter('woocommerce_settings_api_sanitized_fields_' . $this->id, array($this, 'api_sanitized'));
add_action('admin_bar_menu', array($this, 'add_retailcrm_button'), 100 );
add_action('woocommerce_checkout_order_processed', array($this, 'retailcrm_process_order'), 10, 1);
add_action('retailcrm_history', array($this, 'retailcrm_history_get'));
add_action('retailcrm_icml', array($this, 'generate_icml'));
@ -227,7 +227,7 @@ if (!class_exists('WC_Retailcrm_Base')) {
$ajax_url = admin_url('admin-ajax.php');
?>
<script type="text/javascript">
jQuery('#icml-retailcrm').bind('click', function() {
jQuery('#icml-retailcrm, #wp-admin-bar-retailcrm_ajax_generate_icml').bind('click', function() {
jQuery.ajax({
type: "POST",
url: '<?php echo $ajax_url; ?>?action=generate_icml',
@ -897,5 +897,39 @@ if (!class_exists('WC_Retailcrm_Base')) {
return false;
}
/**
* Add button in admin
*/
function add_retailcrm_button() {
global $wp_admin_bar;
if ( !is_super_admin() || !is_admin_bar_showing() || !is_admin())
return;
$wp_admin_bar->add_menu(
array(
'id' => 'retailcrm_top_menu',
'title' => __('retailCRM', 'retailcrm')
)
);
$wp_admin_bar->add_menu(
array(
'id' => 'retailcrm_ajax_generate_icml',
'title' => __('Generating ICML catalog', 'retailcrm'),
'href' => '#',
'parent' => 'retailcrm_top_menu',
'class' => 'retailcrm_ajax_generate_icml'
)
);
$wp_admin_bar->add_menu(
array(
'id' => 'retailcrm_ajax_generate_setings',
'title' => __('Settings', 'retailcrm'),
'href'=> get_site_url().'/wp-admin/admin.php?page=wc-settings&tab=integration&section=integration-retailcrm',
'parent' => 'retailcrm_top_menu',
'class' => 'retailcrm_ajax_settings'
)
);
}
}
}

View File

@ -177,11 +177,17 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
}
}
if (isset($payment) && $payment['type'] == $this->retailcrm_settings[$order->get_payment_method()] && $order->is_paid()) {
$payment = $this->sendPayment($order, true);
return $payment;
}
if (isset($payment) && $payment['type'] != $this->retailcrm_settings[$order->get_payment_method()]) {
$response = $this->retailcrm->ordersPaymentDelete($payment['id']);
if ($response->isSuccessful()) {
$payment = $this->createPayment($order);
$payment = $this->sendPayment($order);
return $payment;
}
@ -197,7 +203,8 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
*
* @return array $order_data_arr
*/
protected function getOrderData($order) {
protected function getOrderData($order)
{
$order_data_arr = array();
$order_info = $order->get_data();
@ -380,13 +387,14 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
}
/**
* Create payment in CRM
* Send payment in CRM
*
* @param WC_Order $order
* @param boolean $update
*
* @return array $payment
*/
protected function createPayment($order)
protected function sendPayment($order, $update = false)
{
$payment = array(
'amount' => $order->get_total(),
@ -397,10 +405,6 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
'externalId' => $order->get_id()
);
if (isset($this->retailcrm_settings[$order->get_payment_method()])) {
$payment['type'] = $this->retailcrm_settings[$order->get_payment_method()];
}
if ($order->is_paid()) {
$payment['status'] = 'paid';
}
@ -410,7 +414,16 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) :
$payment['paidAt'] = trim($pay_date->date('Y-m-d H:i:s'));
}
$this->retailcrm->ordersPaymentCreate($payment);
if ($update === false){
if (isset($this->retailcrm_settings[$order->get_payment_method()])) {
$payment['type'] = $this->retailcrm_settings[$order->get_payment_method()];
}
$this->retailcrm->ordersPaymentCreate($payment);
} else {
$this->retailcrm->ordersPaymentEdit($payment);
}
return $payment;
}

View File

@ -45,6 +45,10 @@ API-ключ должен быть для отдельного магазина
2. В появившихся списках справочников настройте соответствие способов доставки и оплаты, а так же статусов заказов. Отметьте галочку "Выгружать остатки", если хотите выгружать остатки из Retailcrm в магазин (подробнее смотрите в описании).
== Changelog ==
= 3.3.3 =
* Добавлены кнопки для перехода в настройки плагина и для генерации каталога в админ-панели wordpress
* Улучшена механика передачи данных оплаты заказа
= 3.3.2 =
* Задачи в wp-cron теперь активируются в настройках плагина
@ -141,6 +145,10 @@ API-ключ должен быть для отдельного магазина
== Upgrade Notice ==
= 3.3.3 =
Добавлены кнопки для перехода в настройки плагина и для генерации каталога в админ-панели wordpress
Улучшена механика передачи данных оплаты заказа
= 3.3.2 =
Добавлена настройка для активации задач в wp-cron

View File

@ -15,7 +15,7 @@
*
*
* @link https://wordpress.org/plugins/woo-retailcrm/
* @version 3.3.2
* @version 3.3.3
*
* @package RetailCRM
*/