X-Git-Url: https://code.grnet.gr/git/astakos/blobdiff_plain/e2447828a52b10c5101beb080ecab1bff4fad2ff..30dc8c1a05c1b0862871a9a49bad1552311075f4:/snf-astakos-app/astakos/im/management/commands/addgroup.py diff --git a/snf-astakos-app/astakos/im/management/commands/addgroup.py b/snf-astakos-app/astakos/im/management/commands/addgroup.py index b37f89f..25620da 100644 --- a/snf-astakos-app/astakos/im/management/commands/addgroup.py +++ b/snf-astakos-app/astakos/im/management/commands/addgroup.py @@ -39,15 +39,16 @@ from time import time from os.path import abspath from django.core.management.base import BaseCommand, CommandError - from django.contrib.auth.models import Group +from ._common import add_group_permission + class Command(BaseCommand): - args = "" + args = " [ ...]" help = "Insert group" def handle(self, *args, **options): - if len(args) != 1: + if len(args) < 1: raise CommandError("Invalid number of arguments") name = args[0].decode('utf8') @@ -58,6 +59,16 @@ class Command(BaseCommand): except Group.DoesNotExist, e: group = Group(name=name) group.save() - - msg = "Created group id %d" % (group.id,) - self.stdout.write(msg + '\n') + msg = "Created group id %d" % (group.id,) + self.stdout.write(msg + '\n') + try: + for pname in args[1:]: + r, created = add_group_permission(group, pname) + if created: + self.stdout.write('Permission: %s created successfully\n' % pname) + if r == 0: + self.stdout.write('Group has already permission: %s\n' % pname) + else: + self.stdout.write('Permission: %s added successfully\n' % pname) + except Exception, e: + raise CommandError(e) \ No newline at end of file