From b0e6cbd9b2e61a08b15530b6ae7caf62464ea9f1 Mon Sep 17 00:00:00 2001 From: Nedim Uka Date: Wed, 24 Oct 2018 11:15:04 +0200 Subject: [PATCH 1/3] Add supplyer for organisation only if it has supplier role --- .../wiaas/includes/product/class-wiaas-product-supplier.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php index 68957f8..3d5d717 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php @@ -7,6 +7,7 @@ class Wiaas_Product_Supplier { add_action('init', array(__CLASS__, 'register_supplier_taxonomy')); add_action('created_' . 'wiaas-user-organization', array(__CLASS__, 'on_organization_added')); + add_action('edit_' . 'wiaas-user-organization', array(__CLASS__, 'on_organization_added')); } /** @@ -49,10 +50,11 @@ class Wiaas_Product_Supplier { */ public static function on_organization_added($organization_id) { $organization = get_term_by('id', $organization_id, 'wiaas-user-organization'); + $roles = wiaas_get_organization_roles($organization_id); $supplier = term_exists($organization->slug, 'supplier'); - if (! $supplier) { + if (! $supplier && in_array('supplier', $roles) ) { $supplier = wp_insert_term($organization->name, 'supplier', array( 'slug' => $organization->slug )); From 09260301330927c8fb5efdd2063785366d67bd14 Mon Sep 17 00:00:00 2001 From: Nedim Uka Date: Thu, 25 Oct 2018 13:25:19 +0200 Subject: [PATCH 2/3] Use wiaas edit and create methods for organisations when adding supplier --- .../wiaas/includes/product/class-wiaas-product-supplier.php | 5 +++-- .../wiaas/includes/user/class-wiaas-user-organization.php | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php index 3d5d717..0aff85a 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php @@ -6,8 +6,8 @@ class Wiaas_Product_Supplier { public static function init() { add_action('init', array(__CLASS__, 'register_supplier_taxonomy')); - add_action('created_' . 'wiaas-user-organization', array(__CLASS__, 'on_organization_added')); - add_action('edit_' . 'wiaas-user-organization', array(__CLASS__, 'on_organization_added')); + add_action('wiaas_organization_created', array(__CLASS__, 'on_organization_added')); + add_action('wiaas_organization_roles_updated' , array(__CLASS__, 'on_organization_added')); } /** @@ -47,6 +47,7 @@ class Wiaas_Product_Supplier { * Create corresponding supplier term for organization * * @param $organization_id + * @param $roles */ public static function on_organization_added($organization_id) { $organization = get_term_by('id', $organization_id, 'wiaas-user-organization'); diff --git a/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php b/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php index d5bd1df..503657e 100644 --- a/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php +++ b/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php @@ -66,8 +66,6 @@ class Wiaas_User_Organization extends WP_User_Taxonomy { public static function on_organization_added($organization_id) { self::_create_organization_access_group($organization_id); - do_action('wiaas_organization_created', $organization_id); - $roles = wiaas_get_organization_roles($organization_id); self::_assign_organization_roles_capabilities($organization_id, $roles); From 06e7461245933a5b91c95178ccb85e207a6774ba Mon Sep 17 00:00:00 2001 From: Nedim Uka Date: Thu, 25 Oct 2018 14:15:05 +0200 Subject: [PATCH 3/3] Use roles from hook methods --- .../includes/product/class-wiaas-product-supplier.php | 8 ++++---- .../wiaas/includes/user/class-wiaas-user-organization.php | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php index 0aff85a..2bfc50f 100644 --- a/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php +++ b/backend/app/plugins/wiaas/includes/product/class-wiaas-product-supplier.php @@ -6,8 +6,8 @@ class Wiaas_Product_Supplier { public static function init() { add_action('init', array(__CLASS__, 'register_supplier_taxonomy')); - add_action('wiaas_organization_created', array(__CLASS__, 'on_organization_added')); - add_action('wiaas_organization_roles_updated' , array(__CLASS__, 'on_organization_added')); + add_action('wiaas_organization_created', array(__CLASS__, 'on_organization_added'),20, 2); + add_action('wiaas_organization_roles_updated' , array(__CLASS__, 'on_organization_added'),20, 2); } /** @@ -49,9 +49,9 @@ class Wiaas_Product_Supplier { * @param $organization_id * @param $roles */ - public static function on_organization_added($organization_id) { + public static function on_organization_added($organization_id, $roles) { + $organization = get_term_by('id', $organization_id, 'wiaas-user-organization'); - $roles = wiaas_get_organization_roles($organization_id); $supplier = term_exists($organization->slug, 'supplier'); diff --git a/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php b/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php index 503657e..03874f9 100644 --- a/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php +++ b/backend/app/plugins/wiaas/includes/user/class-wiaas-user-organization.php @@ -65,8 +65,9 @@ class Wiaas_User_Organization extends WP_User_Taxonomy { */ public static function on_organization_added($organization_id) { self::_create_organization_access_group($organization_id); - $roles = wiaas_get_organization_roles($organization_id); + + do_action('wiaas_organization_created', $organization_id, $roles); self::_assign_organization_roles_capabilities($organization_id, $roles); }