ome / omero-py

Python project containing Ice remoting code for OMERO
https://www.openmicroscopy.org/omero
GNU General Public License v2.0
22 stars 32 forks source link

user: allow setting default group #199

Open joshmoore opened 4 years ago

joshmoore commented 4 years ago

migrate code from openmicroscopy and fix flake8

see: https://github.com/ome/openmicroscopy/pull/5914/commits/8442eedafb964fec72ac3b6a8b08a67799bfcab8 https://forum.image.sc/t/set-user-default-group-from-command-line/35171


Adding a parameter to set a user's default group when joining a new group, and a helper function to set the default group for a user.

Ideally the CLI should also allow an ad-hoc "set group" command on it's own, but I see this as an incremental improvement towards that goal, and it certainly answers the use case I have for adding users to a group and setting that to be the default group in one command.

What this PR does

Allows a CLI user to set the default group of a user when adding the user to a group.

Testing this PR

  1. required setup

Apply the diff in this PR.

  1. actions to perform

Identify a group which your test user does not belong to.

Issue a CLI command with the new --as-default flag like so, with 103 as an example:

omero user joingroup --group-id 103 --as-default

Then issue a further

omero user joingroup --group-id 103
  1. expected observations Output like the following should appear, if the user was not already a member of the group.
Set the default group of user 793 to group 153

Then

793 is already in group 103

Related reading

Link to cards, tickets, other PRs: https://trello.com/c/sjEk7VQG/487-cli-manage-group-and-user-missing-features

  1. background for understanding this PR

  2. what this PR assists, fixes, or otherwise affects

The missing ability to set the default group of a user by the CLI.

joshmoore commented 4 years ago

Some thoughts of mine from: https://github.com/ome/openmicroscopy/pull/5914#issuecomment-440948683


I don't know if I will have time to make a commit today but on top of this I would imagine the following:

joshmoore commented 4 years ago

Reopening with pytest fix

will-moore commented 2 years ago

Clearly (as mentioned) it would be useful to set the default group to a group that the user is already a member of. This would allow a regular user to set their own default group, without having to be an Admin, which is required by omero user joingroup However, this otherwise works as described, so 👍

joshmoore commented 2 years ago

:+1: also happy to take PRs and/or suggestions on which of the API improvements to use.

will-moore commented 2 years ago

Looking for PRs that could go in a release soon. I this "done" for now?

joshmoore commented 2 years ago

Tests are missing and there's no final word on what we want the API to be. Feel free to go ahead without it.