core: fix change_user_type always requiring usernames (#11177)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
@ -9,10 +9,11 @@ class Command(TenantCommand):
|
|||||||
|
|
||||||
def add_arguments(self, parser):
|
def add_arguments(self, parser):
|
||||||
parser.add_argument("--type", type=str, required=True)
|
parser.add_argument("--type", type=str, required=True)
|
||||||
parser.add_argument("--all", action="store_true")
|
parser.add_argument("--all", action="store_true", default=False)
|
||||||
parser.add_argument("usernames", nargs="+", type=str)
|
parser.add_argument("usernames", nargs="*", type=str)
|
||||||
|
|
||||||
def handle_per_tenant(self, **options):
|
def handle_per_tenant(self, **options):
|
||||||
|
print(options)
|
||||||
new_type = UserTypes(options["type"])
|
new_type = UserTypes(options["type"])
|
||||||
qs = (
|
qs = (
|
||||||
User.objects.exclude_anonymous()
|
User.objects.exclude_anonymous()
|
||||||
@ -22,6 +23,9 @@ class Command(TenantCommand):
|
|||||||
if options["usernames"] and options["all"]:
|
if options["usernames"] and options["all"]:
|
||||||
self.stderr.write("--all and usernames specified, only one can be specified")
|
self.stderr.write("--all and usernames specified, only one can be specified")
|
||||||
return
|
return
|
||||||
|
if not options["usernames"] and not options["all"]:
|
||||||
|
self.stderr.write("--all or usernames must be specified")
|
||||||
|
return
|
||||||
if options["usernames"] and not options["all"]:
|
if options["usernames"] and not options["all"]:
|
||||||
qs = qs.filter(username__in=options["usernames"])
|
qs = qs.filter(username__in=options["usernames"])
|
||||||
updated = qs.update(type=new_type)
|
updated = qs.update(type=new_type)
|
||||||
|
|||||||
Reference in New Issue
Block a user