diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-07 17:51:33 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-03-07 17:51:33 +0100 |
commit | 243731a08855e2919eb3fef8e0f4c80f9be69ce2 (patch) | |
tree | a351b0771c274956f6dca395839785e70ffb4ae0 | |
parent | 397541d7909d00919a82e38a08e852d0cce025cd (diff) | |
download | Ishtar-243731a08855e2919eb3fef8e0f4c80f9be69ce2.tar.bz2 Ishtar-243731a08855e2919eb3fef8e0f4c80f9be69ce2.zip |
✨ management command - ishtar_update_permissions: add force option
-rw-r--r-- | ishtar_common/management/commands/ishtar_update_permissions.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ishtar_common/management/commands/ishtar_update_permissions.py b/ishtar_common/management/commands/ishtar_update_permissions.py index d8d8944bf..4907beba6 100644 --- a/ishtar_common/management/commands/ishtar_update_permissions.py +++ b/ishtar_common/management/commands/ishtar_update_permissions.py @@ -12,14 +12,14 @@ from ishtar_common import models from ishtar_common.utils import BColors -def update_permissions(quiet=False): +def update_permissions(quiet=False, force=False): q = models.IshtarUser.objects.all() nb = q.count() updated = 0 for idx, user in enumerate(q.all()): if not quiet: sys.stdout.write(f"\r[{percent(idx, nb)}] {idx + 1}/{nb}") - if user.need_permission_refresh(): + if force or user.need_permission_refresh(): user.generate_permission() updated += 1 if not quiet: @@ -55,6 +55,10 @@ class Command(BaseCommand): parser.add_argument( "--quiet", dest="quiet", action="store_true", help="Quiet output" ) + parser.add_argument( + "--force", dest="force", action="store_true", + help="Force regeneration for all accounts" + ) def handle(self, *args, **options): settings.USE_BACKGROUND_TASK = False @@ -62,5 +66,5 @@ class Command(BaseCommand): if not quiet: msg = BColors.format("HEADER", f"[{get_time()}] Updating permissions\n") sys.stdout.write(msg) - update_permissions(quiet) + update_permissions(quiet, force=options["force"]) sys.exit(1) |