From 59e60bef4daf5dd6abb17ad76b6c5fd09cfae4b3 Mon Sep 17 00:00:00 2001 From: Almira Krdzic Date: Wed, 24 Oct 2018 13:47:16 +0200 Subject: [PATCH] handle order projects --- .../class-wiaas-admin-order-projects.php | 21 +++++++++---------- .../db-updates/wiaas-db-update-roles.php | 2 +- .../order/class-wiaas-order-project.php | 6 ++++++ 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/admin/class-wiaas-admin-order-projects.php b/backend/app/plugins/wiaas/includes/admin/class-wiaas-admin-order-projects.php index df001f6..32f995c 100644 --- a/backend/app/plugins/wiaas/includes/admin/class-wiaas-admin-order-projects.php +++ b/backend/app/plugins/wiaas/includes/admin/class-wiaas-admin-order-projects.php @@ -3,9 +3,6 @@ class Wiaas_Admin_Order_Projects { public static function init() { - // Add admin page and subpage since woocommerce orders have custom menu page - // so this will not be automatic - add_filter('admin_menu', array(__CLASS__, 'add_admin_page')); // Add is available fields to create and edit forms add_action( 'shop_order_project_add_form_fields', array( __CLASS__, 'add_is_available_field' ) ); @@ -18,18 +15,20 @@ class Wiaas_Admin_Order_Projects { // Save is available field when creating and editing add_action( 'created_term', array( __CLASS__, 'save_is_available_field' ), 10, 3 ); add_action( 'edit_term', array( __CLASS__, 'save_is_available_field' ), 10, 3 ); + + add_action( 'load-term.php', array( __CLASS__, 'admin_menu_highlight' ) ); + add_action( 'load-edit-tags.php', array( __CLASS__, 'admin_menu_highlight' ) ); } /** - * Add admin submenu page for order projects + * Highlighting orders menu when shop orders page selected */ - public static function add_admin_page() { - add_submenu_page( 'woocommerce', - esc_html__( 'Order projects', 'wiaas' ), - esc_html__( 'Order projects', 'wiaas' ), - 'manage_woocommerce', - 'edit-tags.php?taxonomy=shop_order_project' - ); + public static function admin_menu_highlight() { + global $plugin_page; + + if ( isset( $_GET['taxonomy'] ) && ( $_GET['taxonomy'] === 'shop_order_project' ) ) { + $plugin_page = 'edit.php?post_type=shop_order'; + } } /** diff --git a/backend/app/plugins/wiaas/includes/db-updates/wiaas-db-update-roles.php b/backend/app/plugins/wiaas/includes/db-updates/wiaas-db-update-roles.php index c1ae6ff..0873cdd 100644 --- a/backend/app/plugins/wiaas/includes/db-updates/wiaas-db-update-roles.php +++ b/backend/app/plugins/wiaas/includes/db-updates/wiaas-db-update-roles.php @@ -211,7 +211,6 @@ function wiaas_db_import_aam_role_settings() { 'menu-woocommerce' => '1', 'woocommerce' => '1', 'edit.php?post_type=shop_coupon' => '1', - 'edit-tags.php?taxonomy=shop_order_project' => '1', 'wc-reports' => '1', 'wc-settings' => '1', 'wc-status' => '1', @@ -303,6 +302,7 @@ function wiaas_db_update_update_supplier_capabilities() { function wiaas_db_update_update_admin_capabilities() { wp_roles()->add_cap( 'administrator', 'create_products' ); + wp_roles()->add_cap( 'administrator', 'manage_wiaas_order_projects' ); } diff --git a/backend/app/plugins/wiaas/includes/order/class-wiaas-order-project.php b/backend/app/plugins/wiaas/includes/order/class-wiaas-order-project.php index 285155d..466797f 100644 --- a/backend/app/plugins/wiaas/includes/order/class-wiaas-order-project.php +++ b/backend/app/plugins/wiaas/includes/order/class-wiaas-order-project.php @@ -31,6 +31,12 @@ class Wiaas_Order_Project { 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'shop_order_project' ), + 'capabilities' => array( + 'manage_terms' => 'manage_wiaas_order_projects', + 'edit_terms' => 'manage_wiaas_order_projects', + 'delete_terms' => 'manage_wiaas_order_projects', + 'assign_terms' => 'manage_wiaas_order_projects', + ), 'update_count_callback' => array(__CLASS__, 'update_count_callback') );