Skip to content

Commit 47a2eb3

Browse files
authored
Merge pull request #60 from ernilambar/59-ids-format-super-admin-list
2 parents ce8c4ad + 06763ac commit 47a2eb3

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

features/super-admin.feature

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,22 @@ Feature: Manage super admins associated with a multisite instance
180180
And STDOUT should be empty
181181
And the return code should be 1
182182

183+
Scenario: List super admins in ids format.
184+
Given a WP multisite installation
185+
186+
When I run `wp user get admin --field=ID`
187+
And save STDOUT as {USER_1}
188+
189+
When I run `wp user create admin2 admin2@example.com --porcelain`
190+
And save STDOUT as {USER_2}
191+
192+
When I run `wp super-admin add admin2`
193+
And I run `wp super-admin list --format=ids`
194+
Then STDOUT should be:
195+
"""
196+
{USER_1} {USER_2}
197+
"""
198+
183199
Scenario: Manage a super admin user_login 'admin'
184200
Given a WP multisite installation
185201

src/Super_Admin_Command.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public function __construct() {
4949
* - csv
5050
* - json
5151
* - count
52+
* - ids
5253
* - yaml
5354
* ---
5455
*
@@ -77,8 +78,20 @@ public function list_subcommand( $_, $assoc_args ) {
7778

7879
$output_users[] = $output_user;
7980
}
80-
$formatter = new \WP_CLI\Formatter( $assoc_args, $this->fields );
81-
$formatter->display_items( $output_users );
81+
82+
if ( ! empty( $assoc_args['format'] ) && 'ids' === $assoc_args['format'] ) {
83+
$formatter = new \WP_CLI\Formatter( $assoc_args );
84+
85+
$user_ids = [];
86+
foreach ( $super_admins as $user_login ) {
87+
$user_obj = get_user_by( 'login', $user_login );
88+
$user_ids[] = $user_obj->ID;
89+
}
90+
$formatter->display_items( $user_ids );
91+
} else {
92+
$formatter = new \WP_CLI\Formatter( $assoc_args, $this->fields );
93+
$formatter->display_items( $output_users );
94+
}
8295
}
8396
}
8497

0 commit comments

Comments
 (0)