Skip to content

Commit 668b405

Browse files
committed
v1.7.9
1 parent 87b6d20 commit 668b405

File tree

5 files changed

+159
-145
lines changed

5 files changed

+159
-145
lines changed

includes/API/Settings.php

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
namespace WCPOS\WooCommercePOS\API;
44

55
use Closure;
6+
use WCPOS\WooCommercePOS\Services\Settings as SettingsService;
7+
use const WCPOS\WooCommercePOS\SHORT_NAME;
68
use WP_Error;
9+
use WP_REST_Controller;
710
use WP_REST_Request;
811
use WP_REST_Response;
912
use WP_REST_Server;
10-
use WCPOS\WooCommercePOS\Services\Settings as SettingsService;
11-
use WP_REST_Controller;
12-
use const WCPOS\WooCommercePOS\SHORT_NAME;
1313

1414
/**
15-
* Class Settings REST API
15+
* Class Settings REST API.
1616
*/
1717
class Settings extends WP_REST_Controller {
1818
/**
@@ -152,7 +152,7 @@ public function register_routes(): void {
152152
array(
153153
'methods' => WP_REST_Server::EDITABLE,
154154
'callback' => array( $this, 'update_access_settings' ),
155-
'permission_callback' => array( $this, 'access_permission_check' ),
155+
'permission_callback' => array( $this, 'update_access_permission_check' ),
156156
)
157157
);
158158

@@ -172,7 +172,7 @@ public function register_routes(): void {
172172
array(
173173
'methods' => WP_REST_Server::EDITABLE,
174174
'callback' => array( $this, 'update_tools_settings' ),
175-
'permission_callback' => array( $this, 'access_permission_check' ),
175+
'permission_callback' => array( $this, 'update_permission_check' ),
176176
)
177177
);
178178

@@ -405,6 +405,7 @@ public function update_payment_gateways_settings( WP_REST_Request $request ) {
405405
$updated_settings = array_replace_recursive( $old_settings, $request->get_json_params() );
406406

407407
$settings_service = SettingsService::instance();
408+
408409
return $settings_service->save_settings( 'payment_gateways', $updated_settings );
409410
}
410411

@@ -419,9 +420,10 @@ public function update_payment_gateways_settings( WP_REST_Request $request ) {
419420
*/
420421
public function update_general_settings( WP_REST_Request $request ) {
421422
$old_settings = woocommerce_pos_get_settings( 'general' );
422-
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
423+
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
423424

424425
$settings_service = SettingsService::instance();
426+
425427
return $settings_service->save_settings( 'general', $settings );
426428
}
427429

@@ -436,9 +438,10 @@ public function update_general_settings( WP_REST_Request $request ) {
436438
*/
437439
public function update_checkout_settings( WP_REST_Request $request ) {
438440
$old_settings = woocommerce_pos_get_settings( 'checkout' );
439-
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
441+
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
440442

441443
$settings_service = SettingsService::instance();
444+
442445
return $settings_service->save_settings( 'checkout', $settings );
443446
}
444447

@@ -501,9 +504,10 @@ public function update_access_settings( WP_REST_Request $request ): array {
501504
*/
502505
public function update_tools_settings( WP_REST_Request $request ) {
503506
$old_settings = woocommerce_pos_get_settings( 'tools' );
504-
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
507+
$settings = array_replace_recursive( $old_settings, $request->get_json_params() );
505508

506509
$settings_service = SettingsService::instance();
510+
507511
return $settings_service->save_settings( 'tools', $settings );
508512
}
509513

@@ -513,8 +517,7 @@ public function update_tools_settings( WP_REST_Request $request ) {
513517
* @return bool
514518
*/
515519
public function read_permission_check(): bool {
516-
// return current_user_can( 'manage_woocommerce_pos' );
517-
return true;
520+
return current_user_can( 'manage_woocommerce_pos' );
518521
}
519522

520523
/**
@@ -527,8 +530,8 @@ public function update_permission_check(): bool {
527530
/**
528531
* @return bool
529532
*/
530-
public function access_permission_check(): bool {
531-
return current_user_can( 'promote_users' );
533+
public function update_access_permission_check(): bool {
534+
return current_user_can( 'edit_users' ) && current_user_can( 'promote_users' );
532535
}
533536

534537
/**
@@ -549,9 +552,12 @@ public function payment_gateways_settings( $options ) {
549552

550553
/**
551554
* Temporary fix for stale license status transient. Remove when possible.
555+
*
556+
* @param mixed $value
552557
*/
553558
public function remove_license_transient( $value ) {
554559
delete_transient( 'woocommerce_pos_pro_license_status' );
560+
555561
return $value;
556562
}
557563
}

0 commit comments

Comments
 (0)