Skip to content
Merged
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
86 changes: 1 addition & 85 deletions admin/collection_providers/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django import forms

from framework.utils import sanitize_html
from osf.models import CollectionProvider, CollectionSubmission
from osf.models import CollectionProvider
from admin.base.utils import get_nodelicense_choices, get_defaultlicense_choices, validate_slug


Expand Down Expand Up @@ -74,12 +74,6 @@ def clean_collected_type_choices(self):
type_choices_new = {c.strip(' ') for c in json.loads(self.data.get('collected_type_choices'))}
type_choices_added = type_choices_new - type_choices_old
type_choices_removed = type_choices_old - type_choices_new
for item in type_choices_removed:
if CollectionSubmission.objects.filter(collection=collection_provider.primary_collection,
collected_type=item).exists():
raise forms.ValidationError(
f'Cannot delete "{item}" because it is used as metadata on objects.'
)
else:
# if this is creating a CollectionProvider
type_choices_added = []
Expand All @@ -104,12 +98,6 @@ def clean_status_choices(self):
status_choices_new = {c.strip(' ') for c in json.loads(self.data.get('status_choices'))}
status_choices_added = status_choices_new - status_choices_old
status_choices_removed = status_choices_old - status_choices_new
for item in status_choices_removed:
if CollectionSubmission.objects.filter(collection=collection_provider.primary_collection,
status=item).exists():
raise forms.ValidationError(
f'Cannot delete "{item}" because it is used as metadata on objects.'
)
else:
# if this is creating a CollectionProvider
status_choices_added = []
Expand All @@ -134,12 +122,6 @@ def clean_volume_choices(self):
volume_choices_new = {c.strip(' ') for c in json.loads(self.data.get('volume_choices'))}
volume_choices_added = volume_choices_new - volume_choices_old
volume_choices_removed = volume_choices_old - volume_choices_new
for item in volume_choices_removed:
if CollectionSubmission.objects.filter(collection=collection_provider.primary_collection,
volume=item).exists():
raise forms.ValidationError(
f'Cannot delete "{item}" because it is used as metadata on objects.'
)
else:
# if this is creating a CollectionProvider
volume_choices_added = []
Expand All @@ -164,12 +146,6 @@ def clean_issue_choices(self):
issue_choices_new = {c.strip(' ') for c in json.loads(self.data.get('issue_choices'))}
issue_choices_added = issue_choices_new - issue_choices_old
issue_choices_removed = issue_choices_old - issue_choices_new
for item in issue_choices_removed:
if CollectionSubmission.objects.filter(collection=collection_provider.primary_collection,
issue=item).exists():
raise forms.ValidationError(
f'Cannot delete "{item}" because it is used as metadata on objects.'
)
else:
# if this is creating a CollectionProvider
issue_choices_added = []
Expand All @@ -194,12 +170,6 @@ def clean_program_area_choices(self):
program_area_choices_new = {c.strip(' ') for c in json.loads(self.data.get('program_area_choices'))}
program_area_choices_added = program_area_choices_new - program_area_choices_old
program_area_choices_removed = program_area_choices_old - program_area_choices_new
for item in program_area_choices_removed:
if CollectionSubmission.objects.filter(collection=collection_provider.primary_collection,
program_area=item).exists():
raise forms.ValidationError(
f'Cannot delete "{item}" because it is used as metadata on objects.'
)
else:
# if this is creating a CollectionProvider
program_area_choices_added = []
Expand All @@ -224,16 +194,6 @@ def clean_school_type_choices(self):
updated_choices = {c.strip(' ') for c in json.loads(self.data.get('school_type_choices'))}
added_choices = updated_choices - old_choices
removed_choices = old_choices - updated_choices
active_removed_choices = set(
primary_collection.collectionsubmission_set.filter(
school_type__in=removed_choices
).values_list('school_type', flat=True)
)
if active_removed_choices:
raise forms.ValidationError(
'Cannot remove the following choices for "school_type", as they are '
f'currently in use: {active_removed_choices}'
)
else: # Creating a new CollectionProvider
added_choices = set()
removed_choices = set()
Expand All @@ -253,17 +213,6 @@ def clean_study_design_choices(self):
updated_choices = {c.strip(' ') for c in json.loads(self.data.get('study_design_choices'))}
added_choices = updated_choices - old_choices
removed_choices = old_choices - updated_choices

active_removed_choices = set(
primary_collection.collectionsubmission_set.filter(
study_design__in=removed_choices
).values_list('school_type', flat=True)
)
if active_removed_choices:
raise forms.ValidationError(
'Cannot remove the following choices for "study_design", as they are '
f'currently in use: {active_removed_choices}'
)
else: # Creating a new CollectionProvider
added_choices = set()
removed_choices = set()
Expand All @@ -283,17 +232,6 @@ def clean_disease_choices(self):
updated_choices = {c.strip(' ') for c in json.loads(self.data.get('disease_choices'))}
added_choices = updated_choices - old_choices
removed_choices = old_choices - updated_choices

active_removed_choices = set(
primary_collection.collectionsubmission_set.filter(
disease__in=removed_choices
).values_list('disease', flat=True)
)
if active_removed_choices:
raise forms.ValidationError(
'Cannot remove the following choices for "disease", as they are '
f'currently in use: {active_removed_choices}'
)
else: # Creating a new CollectionProvider
added_choices = set()
removed_choices = set()
Expand All @@ -313,17 +251,6 @@ def clean_data_type_choices(self):
updated_choices = {c.strip(' ') for c in json.loads(self.data.get('data_type_choices'))}
added_choices = updated_choices - old_choices
removed_choices = old_choices - updated_choices

active_removed_choices = set(
primary_collection.collectionsubmission_set.filter(
data_type__in=removed_choices
).values_list('data_type', flat=True)
)
if active_removed_choices:
raise forms.ValidationError(
'Cannot remove the following choices for "data_type", as they are '
f'currently in use: {active_removed_choices}'
)
else: # Creating a new CollectionProvider
added_choices = set()
removed_choices = set()
Expand All @@ -343,17 +270,6 @@ def clean_grade_levels_choices(self):
updated_choices = {c.strip(' ') for c in json.loads(self.data.get('grade_levels_choices'))}
added_choices = updated_choices - old_choices
removed_choices = old_choices - updated_choices

active_removed_choices = set(
primary_collection.collectionsubmission_set.filter(
data_type__in=removed_choices
).values_list('grade_levels', flat=True)
)
if active_removed_choices:
raise forms.ValidationError(
'Cannot remove the following choices for "grade_levels", as they are '
f'currently in use: {active_removed_choices}'
)
else: # Creating a new CollectionProvider
added_choices = set()
removed_choices = set()
Expand Down
Loading