Add unit tests for backend and refactor few things on frontend
This commit is contained in:
@@ -9,7 +9,9 @@ class Wiaas_DB_Update {
|
||||
'20180801222206' => 'wiaas_db_update_setup_gravity',
|
||||
'20180802222206' => 'wiaas_db_update_add_delivery_process_forms',
|
||||
'20180807222206' => 'wiaas_db_update_setup_customer_capabilities',
|
||||
'20180809134511' => 'wiaas_db_update_add_customer_read_permission'
|
||||
'20180809134511' => 'wiaas_db_update_add_customer_read_permission',
|
||||
'20180811134511' => 'wiaas_db_update_enable_orders_access_management',
|
||||
'20180813134511' => 'wiaas_db_update_enable_order_numbers'
|
||||
);
|
||||
|
||||
public static function execute() {
|
||||
|
||||
@@ -84,7 +84,26 @@ function wiaas_db_update_setup_customer_capabilities() {
|
||||
$customer_role->add_cap('read_private_shop_orders');
|
||||
$customer_role->add_cap('read_shop_order');
|
||||
}
|
||||
|
||||
function wiaas_db_update_add_customer_read_permission() {
|
||||
$role = get_role( 'customer' );
|
||||
$role->add_cap( 'read_private_products' );
|
||||
}
|
||||
|
||||
function wiaas_db_update_enable_orders_access_management() {
|
||||
$post_types_option = Groups_Options::get_option( Groups_Post_Access::POST_TYPES, array() );
|
||||
|
||||
$post_types_option['shop_order'] = array(
|
||||
'add_meta_box' => true
|
||||
);
|
||||
|
||||
Groups_Options::update_option(Groups_Post_Access::POST_TYPES, $post_types_option);
|
||||
}
|
||||
|
||||
function wiaas_db_update_enable_order_numbers() {
|
||||
update_option('wcj_order_numbers_enabled', 'yes');
|
||||
update_option('wcj_order_number_sequential_enabled', 'no');
|
||||
update_option('wcj_order_number_counter', '0');
|
||||
update_option('wcj_order_number_counter_reset_enabled', 'no');
|
||||
update_option('wcj_order_number_prefix', '1000000');
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ class Wiaas_User_Organization extends WP_User_Taxonomy {
|
||||
public function __construct()
|
||||
{
|
||||
$args = array(
|
||||
'singular' => __('Organization', 'wp-user-groups'),
|
||||
'plural' => __('Organizations', 'wp-user-groups'),
|
||||
'singular' => __('Organization', 'wiaas'),
|
||||
'plural' => __('Organizations', 'wiaas'),
|
||||
'exclusive' => true,
|
||||
'public' => true,
|
||||
'show_in_rest' => true,
|
||||
@@ -242,13 +242,71 @@ class Wiaas_User_Organization extends WP_User_Taxonomy {
|
||||
}
|
||||
|
||||
/**
|
||||
* Show organizations selection without $user info
|
||||
* Show organizations selection on new user form
|
||||
*/
|
||||
function show_organizations_selection() {
|
||||
$terms = get_terms( array(
|
||||
'taxonomy' => self::TAXONOMY_NAME,
|
||||
'hide_empty' => false,
|
||||
) );
|
||||
$taxonomy = get_taxonomy(self::TAXONOMY_NAME);
|
||||
$this->table_contents(null, $taxonomy, $terms);
|
||||
}
|
||||
|
||||
function edit_user_relationships($user = false) {
|
||||
$tax = get_taxonomy( $this->taxonomy );
|
||||
|
||||
// Get the terms of the taxonomy.
|
||||
$terms = get_terms( $this->taxonomy, array(
|
||||
'hide_empty' => false
|
||||
) );
|
||||
|
||||
$this->table_contents( $user, $tax, $terms );
|
||||
}
|
||||
|
||||
function table_contents( $user, $tax, $terms ) {
|
||||
$active_organization_id = -1;
|
||||
if ($user) {
|
||||
$active_organization = self::get_user_organization($user->ID);
|
||||
$active_organization_id = $active_organization ? $active_organization->term_id : -1;
|
||||
}
|
||||
|
||||
?>
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<tr class="form-field">
|
||||
<th scope="row">
|
||||
<label for="<?php echo esc_attr( $this->taxonomy ); ?>[]">
|
||||
<?php echo esc_html( $tax->labels->singular_name ); ?>
|
||||
</label>
|
||||
</th>
|
||||
<td>
|
||||
<select name="<?php echo esc_attr( $this->taxonomy ); ?>[]" id="<?php echo esc_attr( $this->taxonomy ); ?>">
|
||||
<?php
|
||||
foreach ( $terms as $term ) :
|
||||
$selected = $active_organization_id === $term->term_id;
|
||||
?>
|
||||
<option
|
||||
value="<?php echo esc_attr( $term->slug ); ?>"
|
||||
<?php selected( $selected ); ?>
|
||||
>
|
||||
<?php echo esc_attr( $term->name ); ?>
|
||||
</option>
|
||||
<?php
|
||||
endforeach;
|
||||
?>
|
||||
</select>
|
||||
<?php
|
||||
wp_nonce_field( $this->taxonomy, $this->get_nonce_key() );
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
|
||||
private function get_nonce_key() {
|
||||
return "wp_user_taxonomy_{$this->taxonomy}";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user