Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,20 @@


class Command(BaseCommand):
help = "Create (or delete) a dummy meeting for test and development purposes."
help = "Create (or delete) a meeting for test and development purposes."

def add_arguments(self, parser):
parser.add_argument('--delete', dest='delete', action='store_true', help='Delete the test and development dummy meeting')
parser.add_argument('--delete', dest='delete', action='store_true', help='Delete the test and development meeting')
parser.add_argument('--old-conflicts', dest='old_conflicts', action='store_true',
help='Use old conflict types ("conflict", "conflic2", "conflic3") instead of new ("chair_conflict", "tech_overlap", "key_participant")')
parser.add_argument(
'--start-date',
help='Start date for the dummy meeting (yyyy-mm-dd, defaults to 2019-11-16)',
help='Start date for the test meeting (yyyy-mm-dd, defaults to 2019-11-16)',
type=lambda s: datetime.datetime.strptime(s, '%Y-%m-%d').date(),
default='2019-11-16',
)
parser.add_argument('--tz', default='UTC',
help='Time zone for created meeting. Defaults to UTC. Use "" to disable.')
help='Time zone for test meeting. Defaults to UTC. Use "" to disable.')

def _meeting_datetime(self, day, *time_args):
"""Generate a datetime on a meeting day"""
Expand All @@ -82,7 +82,7 @@ def _meeting_datetime(self, day, *time_args):

def handle(self, *args, **options):
if socket.gethostname().split('.')[0] in ['core3', 'ietfa', 'ietfb', 'ietfc', ]:
raise EnvironmentError("Refusing to create a dummy meetng on a production server")
raise EnvironmentError("Refusing to create a test meetng on a production server")

opt_delete = options.get('delete', False)
opt_use_old_conflicts = options.get('old_conflicts', False)
Expand All @@ -94,17 +94,17 @@ def handle(self, *args, **options):
if opt_delete:
if Meeting.objects.filter(number='999').exists():
Meeting.objects.filter(number='999').delete()
self.stdout.write("Deleted dummy meeting IETF 999 and its related objects.")
self.stdout.write("Deleted test meeting IETF 999 and its related objects.")
else:
self.stderr.write("Dummy meeting IETF 999 does not exist; nothing to do.\n")
self.stderr.write("Test meeting IETF 999 does not exist; nothing to do.\n")
else:
if Meeting.objects.filter(number='999').exists():
self.stderr.write("Dummy meeting IETF 999 already exists; nothing to do.\n")
self.stderr.write("Test meeting IETF 999 already exists; nothing to do.\n")
else:
transaction.set_autocommit(False)

if self.start_date.isoweekday() != 6:
self.stderr.write("Warning: dummy meeting does not start on Saturday, watch out for bugs")
self.stderr.write("Warning: test meeting does not start on Saturday, watch out for bugs")

m = Meeting.objects.create(
number='999',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,47 +14,47 @@
from ietf.person.models import User

class Command(BaseCommand):
help = ("Create (or delete) a dummy nomcom for test and development purposes.")
help = ("Create (or delete) a nomcom for test and development purposes.")

def add_arguments(self, parser):
parser.add_argument('--delete', dest='delete', action='store_true', help='Delete the test and development dummy nomcom')
parser.add_argument('--delete', dest='delete', action='store_true', help='Delete the test and development nomcom')

def handle(self, *args, **options):
if socket.gethostname().split('.')[0] in ['core3', 'ietfa', 'ietfb', 'ietfc', ]:
raise EnvironmentError("Refusing to create a dummy nomcom on a production server")
raise EnvironmentError("Refusing to create a test nomcom on a production server")

opt_delete = options.get('delete', False)
if opt_delete:
if Group.objects.filter(acronym='nomcom7437').exists():
Group.objects.filter(acronym='nomcom7437').delete()
User.objects.filter(username__in=['dummychair','dummymember','dummycandidate']).delete()
self.stdout.write("Deleted dummy group 'nomcom7437' and its related objects.")
User.objects.filter(username__in=['testchair','testmember','testcandidate']).delete()
self.stdout.write("Deleted test group 'nomcom7437' and its related objects.")
else:
self.stderr.write("Dummy nomcom 'nomcom7437' does not exist; nothing to do.\n")
self.stderr.write("test nomcom 'nomcom7437' does not exist; nothing to do.\n")
else:
if Group.objects.filter(acronym='nomcom7437').exists():
self.stderr.write("Dummy nomcom 'nomcom7437' already exists; nothing to do.\n")
self.stderr.write("test nomcom 'nomcom7437' already exists; nothing to do.\n")
else:
nc = NomComFactory.create(**nomcom_kwargs_for_year(year=7437,
populate_personnel=False,
populate_positions=False))

e = EmailFactory(person__name='Dummy Chair', address='dummychair@example.com', person__user__username='dummychair', person__default_emails=False, origin='dummychair')
e = EmailFactory(person__name='Test Chair', address='testchair@example.com', person__user__username='testchair', person__default_emails=False, origin='testchair')
e.person.user.set_password('password')
e.person.user.save()
nc.group.role_set.create(name_id='chair',person=e.person,email=e)

e = EmailFactory(person__name='Dummy Member', address='dummymember@example.com', person__user__username='dummymember', person__default_emails=False, origin='dummymember')
e = EmailFactory(person__name='Test Member', address='testmember@example.com', person__user__username='testmember', person__default_emails=False, origin='testmember')
e.person.user.set_password('password')
e.person.user.save()
nc.group.role_set.create(name_id='member',person=e.person,email=e)


e = EmailFactory(person__name='Dummy Candidate', address='dummycandidate@example.com', person__user__username='dummycandidate', person__default_emails=False, origin='dummycandidate')
e = EmailFactory(person__name='Test Candidate', address='testcandidate@example.com', person__user__username='testcandidate', person__default_emails=False, origin='testcandidate')
e.person.user.set_password('password')
e.person.user.save()
NomineePositionFactory(nominee__nomcom=nc, nominee__person=e.person,
position__nomcom=nc, position__name='Dummy Area Director', position__is_iesg_position=True,
position__nomcom=nc, position__name='Test Area Director', position__is_iesg_position=True,
)

self.stdout.write("%s\n" % key)
Expand Down