|
|
@ -1,10 +1,12 @@ |
|
|
|
from django.core.management.base import BaseCommand, CommandError |
|
|
|
from django.contrib.auth.models import User |
|
|
|
|
|
|
|
from api.models import Project, Role, RoleMapping, User |
|
|
|
from api.models import Project |
|
|
|
from ...models import Member, Role |
|
|
|
|
|
|
|
|
|
|
|
class Command(BaseCommand): |
|
|
|
help = 'Non-interactively create a rolemapping' |
|
|
|
help = 'Non-interactively create a member' |
|
|
|
|
|
|
|
@classmethod |
|
|
|
def add_arguments(self, parser): |
|
|
@ -21,15 +23,15 @@ class Command(BaseCommand): |
|
|
|
projectname = options.get('projectname') |
|
|
|
|
|
|
|
if not rolename or not username or not projectname: |
|
|
|
raise CommandError('--rolename --projectname --username are required for the rolemapping') |
|
|
|
raise CommandError('--rolename --projectname --username are required for the member') |
|
|
|
|
|
|
|
if rolename and projectname and username: |
|
|
|
try: |
|
|
|
role = Role.objects.get(name=rolename) |
|
|
|
user = User.objects.get(username=username) |
|
|
|
project = Project.objects.get(name=projectname) |
|
|
|
rolemapping = RoleMapping.objects.create(role_id=role.id, user_id=user.id, project_id=project.id) |
|
|
|
member = Member.objects.create(role_id=role.id, user_id=user.id, project_id=project.id) |
|
|
|
except Exception as ex: |
|
|
|
self.stderr.write(self.style.ERROR('Error occurred while creating rolemapping "%s"' % ex)) |
|
|
|
self.stderr.write(self.style.ERROR('Error occurred while creating member "%s"' % ex)) |
|
|
|
else: |
|
|
|
self.stdout.write(self.style.SUCCESS('Rolemapping created successfully "%s"' % rolemapping.id)) |
|
|
|
self.stdout.write(self.style.SUCCESS('Member created successfully "%s"' % member.id)) |