summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit243731a08855e2919eb3fef8e0f4c80f9be69ce2 (patch)
treea351b0771c274956f6dca395839785e70ffb4ae0
parent397541d7909d00919a82e38a08e852d0cce025cd (diff)
downloadIshtar-243731a08855e2919eb3fef8e0f4c80f9be69ce2.tar.bz2
Ishtar-243731a08855e2919eb3fef8e0f4c80f9be69ce2.zip
✨ management command - ishtar_update_permissions: add force option
-rw-r--r--ishtar_common/management/commands/ishtar_update_permissions.py10
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)