diff options
author | CruiseDevice | 2018-08-20 14:16:30 +0530 |
---|---|---|
committer | CruiseDevice | 2018-08-20 14:25:37 +0530 |
commit | a4b050af22d7235393c2d5d78f825975d25456ad (patch) | |
tree | df050d6e81c2fbb1dc3708983e18762e41cd2b3b /sbhs/management | |
parent | 85c165215226e4c70f42f2d2d46542e9cf9471a5 (diff) | |
download | sbhs_server-a4b050af22d7235393c2d5d78f825975d25456ad.tar.gz sbhs_server-a4b050af22d7235393c2d5d78f825975d25456ad.tar.bz2 sbhs_server-a4b050af22d7235393c2d5d78f825975d25456ad.zip |
create app models and register them in admin site
Models:
- Profile
- Slot
- Experiment
- Board
- add create_group method for creating moderator group
- create create_group command for creating moderator group
- register model in admin site
- delete Booking model
Diffstat (limited to 'sbhs/management')
-rw-r--r-- | sbhs/management/__init__.py | 0 | ||||
-rw-r--r-- | sbhs/management/commands/__init__.py | 0 | ||||
-rw-r--r-- | sbhs/management/commands/create_moderator.py | 44 |
3 files changed, 44 insertions, 0 deletions
diff --git a/sbhs/management/__init__.py b/sbhs/management/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/sbhs/management/__init__.py diff --git a/sbhs/management/commands/__init__.py b/sbhs/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/sbhs/management/commands/__init__.py diff --git a/sbhs/management/commands/create_moderator.py b/sbhs/management/commands/create_moderator.py new file mode 100644 index 0000000..2b4fc57 --- /dev/null +++ b/sbhs/management/commands/create_moderator.py @@ -0,0 +1,44 @@ +''' + This command creates a moderator group and adds users to the moderator group + with permissions to add, change and delete + the objects in the exam app. +''' + +# django imports +from django.core.management.base import BaseCommand, CommandError +from django.contrib.auth.models import User, Group, Permission + +# local imports +from sbhs.models import create_group + +class Command(BaseCommand): + help = 'Adds users to the moderator group' + + def add_arguments(self, parser): + # Positional arguments + parser.add_argument('usernames', nargs='*', type=str) + + def handle(self, *args, **options): + app_label = 'sbhs' + group_name = 'moderator' + group = create_group(group_name, app_label) + if group and isinstance(group, Group): + self.stdout.write('Moderator group added successfully') + + if options['usernames']: + for uname in options['usernames']: + try: + user = User.objects.get(username=uname) + except User.DoesNotExist: + raise CommandError('User "{0}" does not exist'.format( + uname) + ) + if user in group.user_set.all(): + self.stdout.write('User "{0}" is ' + 'already a Moderator'.format(uname) + ) + else: + group.user_set.add(user) + self.stdout.write('Successfully added User "{0}"' + ' to Moderator group'.format(uname) + )
\ No newline at end of file |