mirror of
https://github.com/peeringdb/peeringdb.git
synced 2024-05-11 05:55:09 +00:00
black format
This commit is contained in:
@@ -1526,10 +1526,7 @@ class TestJSON(unittest.TestCase):
|
||||
"ixpfx",
|
||||
data,
|
||||
test_failures={
|
||||
"invalid": [
|
||||
{"prefix": "127.0.0.0/8"},
|
||||
{"in_dfz": False}
|
||||
],
|
||||
"invalid": [{"prefix": "127.0.0.0/8"}, {"in_dfz": False}],
|
||||
"perms": {
|
||||
"prefix": "205.127.237.0/24",
|
||||
"ixlan_id": SHARED["ixlan_r_ok"].id,
|
||||
@@ -1549,10 +1546,7 @@ class TestJSON(unittest.TestCase):
|
||||
SHARED["ixpfx_id"],
|
||||
{"prefix": "206.127.236.0/26"},
|
||||
test_failures={
|
||||
"invalid": [
|
||||
{"prefix": "NEEDS TO BE VALID PREFIX"},
|
||||
{"in_dfz": False}
|
||||
],
|
||||
"invalid": [{"prefix": "NEEDS TO BE VALID PREFIX"}, {"in_dfz": False}],
|
||||
"perms": {"ixlan_id": SHARED["ixlan_r_ok"].id},
|
||||
},
|
||||
)
|
||||
@@ -1605,7 +1599,6 @@ class TestJSON(unittest.TestCase):
|
||||
self.db_org_admin, "ixpfx", test_protected=SHARED["ixpfx_id"]
|
||||
)
|
||||
|
||||
|
||||
##########################################################################
|
||||
|
||||
def test_org_admin_002_POST_PUT_DELETE_netixlan(self):
|
||||
|
@@ -65,7 +65,6 @@ class Command(BaseCommand):
|
||||
help="This removes all IXFMemberData objects",
|
||||
)
|
||||
|
||||
|
||||
def log(self, msg, debug=False):
|
||||
if self.preview:
|
||||
return
|
||||
@@ -83,7 +82,13 @@ class Command(BaseCommand):
|
||||
raise PermissionError("Flag {} is not permitted to be used in production.")
|
||||
|
||||
def initiate_reset_flags(self, **options):
|
||||
flags = ["reset", "reset_hints", "reset_dismisses", "reset_tickets", "reset_email"]
|
||||
flags = [
|
||||
"reset",
|
||||
"reset_hints",
|
||||
"reset_dismisses",
|
||||
"reset_tickets",
|
||||
"reset_email",
|
||||
]
|
||||
self.active_flags = []
|
||||
for flag in flags:
|
||||
setattr(self, flag, options.get(flag, False))
|
||||
@@ -97,10 +102,14 @@ class Command(BaseCommand):
|
||||
if settings.RELEASE_ENV == "prod":
|
||||
if len(active_flags) == 1:
|
||||
raise PermissionError(
|
||||
"Cannot use flag '{}'' in production".format(active_flags[0]))
|
||||
"Cannot use flag '{}'' in production".format(active_flags[0])
|
||||
)
|
||||
elif len(active_flags) >= 1:
|
||||
raise PermissionError(
|
||||
"Cannot use flags '{}' in production".format(", ".join(active_flags)))
|
||||
"Cannot use flags '{}' in production".format(
|
||||
", ".join(active_flags)
|
||||
)
|
||||
)
|
||||
return True
|
||||
|
||||
def reset_all_hints(self):
|
||||
@@ -109,10 +118,14 @@ class Command(BaseCommand):
|
||||
IXFMemberData.objects.all().delete()
|
||||
|
||||
# also reset and protocol conflict hints (#771)
|
||||
IXLan.objects.filter(ixf_ixp_import_protocol_conflict__gt=0).update(ixf_ixp_import_protocol_conflict=0)
|
||||
IXLan.objects.filter(ixf_ixp_import_protocol_conflict__gt=0).update(
|
||||
ixf_ixp_import_protocol_conflict=0
|
||||
)
|
||||
|
||||
def reset_all_dismisses(self):
|
||||
self.log("Resetting dismisses: setting IXFMemberData.dismissed=False on all IXFMemberData instances")
|
||||
self.log(
|
||||
"Resetting dismisses: setting IXFMemberData.dismissed=False on all IXFMemberData instances"
|
||||
)
|
||||
if self.commit:
|
||||
for ixfmemberdata in IXFMemberData.objects.all():
|
||||
ixfmemberdata.dismissed = False
|
||||
@@ -122,23 +135,30 @@ class Command(BaseCommand):
|
||||
self.log("Resetting email: emptying the IXFImportEmail table")
|
||||
if self.commit:
|
||||
IXFImportEmail.objects.all().delete()
|
||||
IXLan.objects.filter(ixf_ixp_import_error_notified__isnull=False).update(ixf_ixp_import_error_notified=None)
|
||||
IXLan.objects.filter(ixf_ixp_import_error_notified__isnull=False).update(
|
||||
ixf_ixp_import_error_notified=None
|
||||
)
|
||||
|
||||
def reset_all_tickets(self):
|
||||
self.log("Resetting tickets: removing DeskProTicket objects where subject contains '[IX-F]'")
|
||||
self.log(
|
||||
"Resetting tickets: removing DeskProTicket objects where subject contains '[IX-F]'"
|
||||
)
|
||||
if self.commit:
|
||||
DeskProTicket.objects.filter(subject__contains="[IX-F]").delete()
|
||||
|
||||
def create_reset_ticket(self):
|
||||
self.log("Creating deskproticket for the following resets: {}".format(
|
||||
", ".join(self.active_flags)
|
||||
))
|
||||
self.log(
|
||||
"Creating deskproticket for the following resets: {}".format(
|
||||
", ".join(self.active_flags)
|
||||
)
|
||||
)
|
||||
if self.commit:
|
||||
DeskProTicket.objects.create(
|
||||
user=ixf.Importer().ticket_user,
|
||||
subject="[IX-F] command-line reset",
|
||||
body="Applied the following resets to the IX-F data: {}".format(
|
||||
", ".join(self.active_flags)),
|
||||
", ".join(self.active_flags)
|
||||
),
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
|
@@ -7,18 +7,27 @@ import django.db.models.deletion
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0045_fac_rencode_null_out'),
|
||||
("peeringdb_server", "0045_fac_rencode_null_out"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='ixfmemberdata',
|
||||
name='requirement_of',
|
||||
field=models.ForeignKey(blank=True, help_text='Requirement of another IXFMemberData entry and will be applied alongside it', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='requirement_set', to='peeringdb_server.IXFMemberData'),
|
||||
model_name="ixfmemberdata",
|
||||
name="requirement_of",
|
||||
field=models.ForeignKey(
|
||||
blank=True,
|
||||
help_text="Requirement of another IXFMemberData entry and will be applied alongside it",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="requirement_set",
|
||||
to="peeringdb_server.IXFMemberData",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='ixlan',
|
||||
name='ixf_ixp_member_list_url',
|
||||
field=models.URLField(blank=True, null=True, verbose_name='IX-F Member Export URL'),
|
||||
model_name="ixlan",
|
||||
name="ixf_ixp_member_list_url",
|
||||
field=models.URLField(
|
||||
blank=True, null=True, verbose_name="IX-F Member Export URL"
|
||||
),
|
||||
),
|
||||
]
|
||||
|
@@ -7,25 +7,51 @@ import django.db.models.deletion
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0046_ixfmemberdata_requirement_of'),
|
||||
("peeringdb_server", "0046_ixfmemberdata_requirement_of"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='IXFImportEmail',
|
||||
name="IXFImportEmail",
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('subject', models.CharField(max_length=255)),
|
||||
('message', models.TextField()),
|
||||
('recipients', models.CharField(max_length=255)),
|
||||
('created', models.DateTimeField(auto_now_add=True)),
|
||||
('sent', models.DateTimeField(blank=True, null=True)),
|
||||
('ix', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ix_email_set', to='peeringdb_server.InternetExchange', blank=True, null=True)),
|
||||
('net', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='network_email_set', to='peeringdb_server.Network', blank=True, null=True)),
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
("subject", models.CharField(max_length=255)),
|
||||
("message", models.TextField()),
|
||||
("recipients", models.CharField(max_length=255)),
|
||||
("created", models.DateTimeField(auto_now_add=True)),
|
||||
("sent", models.DateTimeField(blank=True, null=True)),
|
||||
(
|
||||
"ix",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="ix_email_set",
|
||||
to="peeringdb_server.InternetExchange",
|
||||
blank=True,
|
||||
null=True,
|
||||
),
|
||||
),
|
||||
(
|
||||
"net",
|
||||
models.ForeignKey(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="network_email_set",
|
||||
to="peeringdb_server.Network",
|
||||
blank=True,
|
||||
null=True,
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'IXF Import Email',
|
||||
'verbose_name_plural': 'IXF Import Emails',
|
||||
}
|
||||
"verbose_name": "IXF Import Email",
|
||||
"verbose_name_plural": "IXF Import Emails",
|
||||
},
|
||||
),
|
||||
]
|
||||
|
@@ -8,27 +8,66 @@ import django.db.models.deletion
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0047_ixf_import_email'),
|
||||
("peeringdb_server", "0047_ixf_import_email"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='EnvironmentSetting',
|
||||
name="EnvironmentSetting",
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('setting', models.CharField(choices=[('IXF_IMPORTER_DAYS_UNTIL_TICKET', 'IX-F Importer: Days until DeskPRO ticket is created')], max_length=255, unique=True)),
|
||||
('value_str', models.CharField(blank=True, max_length=255, null=True)),
|
||||
('value_int', models.IntegerField(blank=True, null=True)),
|
||||
('value_bool', models.BooleanField(blank=True, default=False)),
|
||||
('value_float', models.FloatField(blank=True, null=True)),
|
||||
('updated', models.DateTimeField(auto_now=True, null=True, verbose_name='Last Updated')),
|
||||
('created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Configured on')),
|
||||
('user', models.ForeignKey(help_text='Last updated by this user', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='admincom_setting_set', to=settings.AUTH_USER_MODEL)),
|
||||
(
|
||||
"id",
|
||||
models.AutoField(
|
||||
auto_created=True,
|
||||
primary_key=True,
|
||||
serialize=False,
|
||||
verbose_name="ID",
|
||||
),
|
||||
),
|
||||
(
|
||||
"setting",
|
||||
models.CharField(
|
||||
choices=[
|
||||
(
|
||||
"IXF_IMPORTER_DAYS_UNTIL_TICKET",
|
||||
"IX-F Importer: Days until DeskPRO ticket is created",
|
||||
)
|
||||
],
|
||||
max_length=255,
|
||||
unique=True,
|
||||
),
|
||||
),
|
||||
("value_str", models.CharField(blank=True, max_length=255, null=True)),
|
||||
("value_int", models.IntegerField(blank=True, null=True)),
|
||||
("value_bool", models.BooleanField(blank=True, default=False)),
|
||||
("value_float", models.FloatField(blank=True, null=True)),
|
||||
(
|
||||
"updated",
|
||||
models.DateTimeField(
|
||||
auto_now=True, null=True, verbose_name="Last Updated"
|
||||
),
|
||||
),
|
||||
(
|
||||
"created",
|
||||
models.DateTimeField(
|
||||
auto_now_add=True, null=True, verbose_name="Configured on"
|
||||
),
|
||||
),
|
||||
(
|
||||
"user",
|
||||
models.ForeignKey(
|
||||
help_text="Last updated by this user",
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.SET_NULL,
|
||||
related_name="admincom_setting_set",
|
||||
to=settings.AUTH_USER_MODEL,
|
||||
),
|
||||
),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Environment Setting',
|
||||
'verbose_name_plural': 'Environment Settings',
|
||||
'db_table': 'peeringdb_settings',
|
||||
"verbose_name": "Environment Setting",
|
||||
"verbose_name_plural": "Environment Settings",
|
||||
"db_table": "peeringdb_settings",
|
||||
},
|
||||
),
|
||||
]
|
||||
|
@@ -6,33 +6,47 @@ from django.db import migrations, models
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0048_environmentsetting'),
|
||||
("peeringdb_server", "0048_environmentsetting"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='deskproticket',
|
||||
name='deskpro_id',
|
||||
field=models.IntegerField(blank=True, help_text='Ticket id on the DeskPRO side', null=True),
|
||||
model_name="deskproticket",
|
||||
name="deskpro_id",
|
||||
field=models.IntegerField(
|
||||
blank=True, help_text="Ticket id on the DeskPRO side", null=True
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='deskproticket',
|
||||
name='deskpro_ref',
|
||||
field=models.CharField(blank=True, help_text='Ticket reference on the DeskPRO side', max_length=32, null=True),
|
||||
model_name="deskproticket",
|
||||
name="deskpro_ref",
|
||||
field=models.CharField(
|
||||
blank=True,
|
||||
help_text="Ticket reference on the DeskPRO side",
|
||||
max_length=32,
|
||||
null=True,
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='ixfmemberdata',
|
||||
name='deskpro_id',
|
||||
field=models.IntegerField(blank=True, help_text='Ticket id on the DeskPRO side', null=True),
|
||||
model_name="ixfmemberdata",
|
||||
name="deskpro_id",
|
||||
field=models.IntegerField(
|
||||
blank=True, help_text="Ticket id on the DeskPRO side", null=True
|
||||
),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='ixfmemberdata',
|
||||
name='deskpro_ref',
|
||||
field=models.CharField(blank=True, help_text='Ticket reference on the DeskPRO side', max_length=32, null=True),
|
||||
model_name="ixfmemberdata",
|
||||
name="deskpro_ref",
|
||||
field=models.CharField(
|
||||
blank=True,
|
||||
help_text="Ticket reference on the DeskPRO side",
|
||||
max_length=32,
|
||||
null=True,
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='deskproticket',
|
||||
name='published',
|
||||
model_name="deskproticket",
|
||||
name="published",
|
||||
field=models.DateTimeField(blank=True, null=True),
|
||||
),
|
||||
]
|
||||
|
@@ -6,18 +6,27 @@ from django.db import migrations, models
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0049_deskrpo_ticket_additions'),
|
||||
("peeringdb_server", "0049_deskrpo_ticket_additions"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='ixlan',
|
||||
name='ixf_ixp_import_protocol_conflict',
|
||||
field=models.IntegerField(blank=True, default=0, help_text='IX has been sending IP addresses for protocol not supported by network', null=True, verbose_name='IX-F sent IPs for unsupported protocol'),
|
||||
model_name="ixlan",
|
||||
name="ixf_ixp_import_protocol_conflict",
|
||||
field=models.IntegerField(
|
||||
blank=True,
|
||||
default=0,
|
||||
help_text="IX has been sending IP addresses for protocol not supported by network",
|
||||
null=True,
|
||||
verbose_name="IX-F sent IPs for unsupported protocol",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='network',
|
||||
name='allow_ixp_update',
|
||||
field=models.BooleanField(default=False, help_text='Sepcifies whether an IXP is allowed to add a netixlan entry for this network via their ixp_member data'),
|
||||
model_name="network",
|
||||
name="allow_ixp_update",
|
||||
field=models.BooleanField(
|
||||
default=False,
|
||||
help_text="Sepcifies whether an IXP is allowed to add a netixlan entry for this network via their ixp_member data",
|
||||
),
|
||||
),
|
||||
]
|
||||
|
@@ -6,13 +6,15 @@ from django.db import migrations, models
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0050_auto_20200730_0700'),
|
||||
("peeringdb_server", "0050_auto_20200730_0700"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='ixfmemberdata',
|
||||
name='is_rs_peer',
|
||||
field=models.BooleanField(blank=True, default=None, help_text='RS Peer', null=True),
|
||||
model_name="ixfmemberdata",
|
||||
name="is_rs_peer",
|
||||
field=models.BooleanField(
|
||||
blank=True, default=None, help_text="RS Peer", null=True
|
||||
),
|
||||
),
|
||||
]
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def noop_in_dfz(apps, schema_editor):
|
||||
|
||||
IXLanPrefix = apps.get_model("peeringdb_server", "IXLanPrefix")
|
||||
@@ -14,13 +15,13 @@ def noop_in_dfz(apps, schema_editor):
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('peeringdb_server', '0051_auto_20200730_1622'),
|
||||
("peeringdb_server", "0051_auto_20200730_1622"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='ixlanprefix',
|
||||
name='in_dfz',
|
||||
model_name="ixlanprefix",
|
||||
name="in_dfz",
|
||||
field=models.BooleanField(default=True),
|
||||
),
|
||||
migrations.RunPython(noop_in_dfz),
|
||||
|
Reference in New Issue
Block a user