Revision 30dc8c1a snf-astakos-app/astakos/im/management/commands/addgroup.py

b/snf-astakos-app/astakos/im/management/commands/addgroup.py
39 39
from os.path import abspath
40 40

  
41 41
from django.core.management.base import BaseCommand, CommandError
42

  
43 42
from django.contrib.auth.models import Group
44 43

  
44
from ._common import add_group_permission
45

  
45 46
class Command(BaseCommand):
46
    args = "<name>"
47
    args = "<groupname> [<permission> ...]"
47 48
    help = "Insert group"
48 49
    
49 50
    def handle(self, *args, **options):
50
        if len(args) != 1:
51
        if len(args) < 1:
51 52
            raise CommandError("Invalid number of arguments")
52 53
        
53 54
        name = args[0].decode('utf8')
......
58 59
        except Group.DoesNotExist, e:
59 60
            group = Group(name=name)
60 61
            group.save()
61
        
62
        msg = "Created group id %d" % (group.id,)
63
        self.stdout.write(msg + '\n')
62
            msg = "Created group id %d" % (group.id,)
63
            self.stdout.write(msg + '\n')
64
            try:
65
                for pname in args[1:]:
66
                    r, created = add_group_permission(group, pname)
67
                    if created:
68
                        self.stdout.write('Permission: %s created successfully\n' % pname)
69
                    if r == 0:
70
                        self.stdout.write('Group has already permission: %s\n' % pname)
71
                    else:
72
                        self.stdout.write('Permission: %s added successfully\n' % pname)
73
            except Exception, e:
74
                raise CommandError(e)

Also available in: Unified diff