Skip to content

Commit 3bccc5b

Browse files
committed
Converted the make/delete_dummy_nomcom scripts to a management command.
- Legacy-Id: 13236
1 parent b1c4b75 commit 3bccc5b

3 files changed

Lines changed: 62 additions & 70 deletions

File tree

ietf/nomcom/delete_dummy_nomcom.py

Lines changed: 0 additions & 24 deletions
This file was deleted.

ietf/nomcom/make_dummy_nomcom.py

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Copyright The IETF Trust 2016, All Rights Reserved
2+
# -*- coding: utf-8 -*-
3+
from __future__ import unicode_literals, print_function
4+
5+
import socket
6+
7+
from django.core.management.base import BaseCommand
8+
9+
import debug # pyflakes:ignore
10+
11+
from ietf.nomcom.factories import nomcom_kwargs_for_year, NomComFactory, NomineePositionFactory, key
12+
from ietf.person.factories import EmailFactory
13+
from ietf.group.models import Group
14+
from ietf.person.models import User
15+
16+
class Command(BaseCommand):
17+
help = (u"Create (or delete) a dummy nomcom for test and development purposes.")
18+
19+
def add_arguments(self, parser):
20+
parser.add_argument('--delete', dest='delete', action='store_true', help='Delete the test and development dummy nomcom')
21+
22+
def handle(self, *args, **options):
23+
if socket.gethostname().split('.')[0] in ['core3', 'ietfa', 'ietfb', 'ietfc', ]:
24+
raise EnvironmentError("Refusing to create a dummy nomcom on a production server")
25+
26+
opt_delete = options.get('delete', False)
27+
if opt_delete:
28+
if Group.objects.filter(acronym='nomcom7437').exists():
29+
Group.objects.filter(acronym='nomcom7437').delete()
30+
User.objects.filter(username__in=['dummychair','dummymember','dummycandidate']).delete()
31+
self.stdout.write("Deleted dummy group 'nomcom7437' and its related objects.")
32+
else:
33+
self.stderr.write("Dummy nomcom 'nomcom7437' does not exist; nothing to do.\n")
34+
else:
35+
if Group.objects.filter(acronym='nomcom7437').exists():
36+
self.stderr.write("Dummy nomcom 'nomcom7437' already exists; nothing to do.\n")
37+
else:
38+
nc = NomComFactory.create(**nomcom_kwargs_for_year(year=7437,
39+
populate_personnel=False,
40+
populate_positions=False))
41+
42+
e = EmailFactory(person__name=u'Dummy Chair',address=u'dummychair@example.com',person__user__username=u'dummychair',person__default_emails=False)
43+
e.person.user.set_password('password')
44+
e.person.user.save()
45+
nc.group.role_set.create(name_id=u'chair',person=e.person,email=e)
46+
47+
e = EmailFactory(person__name=u'Dummy Member',address=u'dummymember@example.com',person__user__username=u'dummymember',person__default_emails=False)
48+
e.person.user.set_password('password')
49+
e.person.user.save()
50+
nc.group.role_set.create(name_id=u'member',person=e.person,email=e)
51+
52+
53+
e = EmailFactory(person__name=u'Dummy Candidate',address=u'dummycandidate@example.com',person__user__username=u'dummycandidate',person__default_emails=False)
54+
e.person.user.set_password('password')
55+
e.person.user.save()
56+
NomineePositionFactory(nominee__nomcom=nc, nominee__person=e.person,
57+
position__nomcom=nc, position__name=u'Dummy Area Director',
58+
)
59+
60+
self.stdout.write("%s\n" % key)
61+
self.stdout.write("Nomcom 7437 created. The private key can also be found at any time\nin ietf/nomcom/factories.py. Note that it is NOT a secure key.\n")
62+

0 commit comments

Comments
 (0)