.
This commit is contained in:
+64
-9
@@ -13,6 +13,7 @@ from django.forms import inlineformset_factory
|
||||
|
||||
from atlas.models import (
|
||||
Case,
|
||||
CaseCollection,
|
||||
Differential,
|
||||
Finding,
|
||||
Series,
|
||||
@@ -50,6 +51,26 @@ class ConditionForm(ModelForm):
|
||||
),
|
||||
}
|
||||
|
||||
class CaseCollectionForm(ModelForm):
|
||||
class Meta:
|
||||
model = CaseCollection
|
||||
exclude = ["cases", "author"]
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.user = kwargs.pop(
|
||||
"user"
|
||||
) # To get request.user. Do not use kwargs.pop('user', None) due to potential security hole
|
||||
if kwargs.get("instance"):
|
||||
# We get the 'initial' keyword argument or initialize it
|
||||
# as a dict if it didn't exist.
|
||||
initial = kwargs.setdefault("initial", {})
|
||||
# The widget for a ModelMultipleChoiceField expects
|
||||
# a list of primary key for the selected data.
|
||||
# initial["exams"] = [t.pk for t in kwargs["instance"].exams.all()]
|
||||
|
||||
ModelForm.__init__(self, *args, **kwargs)
|
||||
|
||||
super(CaseCollectionForm, self).__init__(*args, **kwargs)
|
||||
|
||||
class FindingForm(ModelForm):
|
||||
class Meta:
|
||||
@@ -153,7 +174,7 @@ class SeriesForm(ModelForm):
|
||||
else:
|
||||
case_queryset = Case.objects.filter(
|
||||
author__id=self.user.id
|
||||
) #| Case.objects.filter(open_access=True)
|
||||
) # | Case.objects.filter(open_access=True)
|
||||
|
||||
self.fields["case"] = ModelMultipleChoiceField(
|
||||
required=False,
|
||||
@@ -226,7 +247,6 @@ class CaseForm(ModelForm):
|
||||
ModelForm.__init__(self, *args, **kwargs)
|
||||
|
||||
super(CaseForm, self).__init__(*args, **kwargs)
|
||||
print(1)
|
||||
|
||||
# self.fields["series"].queryset =
|
||||
|
||||
@@ -313,25 +333,60 @@ CaseDifferentialFormSet = inlineformset_factory(
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
class BaseSeriesFormSet(BaseInlineFormSet):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BaseSeriesFormSet, self).__init__(*args, **kwargs)
|
||||
def __init__(self, *args, **kwargs):
|
||||
|
||||
self.queryset = Series.case.through.objects.filter(series__author__id=99)
|
||||
super(BaseSeriesFormSet, self).__init__(*args, **kwargs)
|
||||
|
||||
#for form in self.forms:
|
||||
# form.fields['series'].queryset = series_queryset
|
||||
self.queryset = Series.case.through.objects.filter(series__author__id=99)
|
||||
|
||||
# for form in self.forms:
|
||||
# form.fields['series'].queryset = series_queryset
|
||||
|
||||
|
||||
class CaseSeriesForm(ModelForm):
|
||||
def __init__(self, *args, user, **kwargs):
|
||||
super(CaseSeriesForm, self).__init__(*args, **kwargs)
|
||||
|
||||
self.fields["series"] = ModelChoiceField(
|
||||
required=False,
|
||||
queryset=Series.objects.filter(author__id=user.id),
|
||||
# widget=Select(verbose_name="Series", is_stacked=False),
|
||||
)
|
||||
|
||||
class CaseCollectionCaseForm(ModelForm):
|
||||
def __init__(self, *args, user, **kwargs):
|
||||
super(CaseCollectionCaseForm, self).__init__(*args, **kwargs)
|
||||
|
||||
self.fields["case"] = ModelChoiceField(
|
||||
required=False,
|
||||
queryset=Case.objects.filter(author__id=user.id),
|
||||
# widget=Select(verbose_name="Series", is_stacked=False),
|
||||
)
|
||||
|
||||
SeriesFormSet = inlineformset_factory(
|
||||
Case,
|
||||
Series.case.through,
|
||||
formset=BaseSeriesFormSet,
|
||||
form=CaseSeriesForm,
|
||||
# formset=BaseSeriesFormSet,
|
||||
exclude=[],
|
||||
can_delete=True,
|
||||
extra=1,
|
||||
extra=0,
|
||||
max_num=10,
|
||||
)
|
||||
|
||||
CaseCollectionCaseFormSet = inlineformset_factory(
|
||||
CaseCollection,
|
||||
Case.casecollection_set.through,
|
||||
form=CaseCollectionCaseForm,
|
||||
# formset=BaseSeriesFormSet,
|
||||
exclude=[],
|
||||
can_delete=True,
|
||||
extra=0,
|
||||
max_num=50,
|
||||
)
|
||||
|
||||
|
||||
SeriesImageFormSet = inlineformset_factory(
|
||||
Series,
|
||||
|
||||
Reference in New Issue
Block a user