diff --git a/opentech/apply/review/forms.py b/opentech/apply/review/forms.py index 4f02da2ca8f410a13a6b6a1a375fb515137c649f..fba3b158d5543fadf37a76b6394d4bdcfe53fb2b 100644 --- a/opentech/apply/review/forms.py +++ b/opentech/apply/review/forms.py @@ -6,7 +6,7 @@ from opentech.apply.review.options import NA from opentech.apply.stream_forms.forms import StreamBaseForm from .models import Review, ReviewOpinion -from .options import OPINION_CHOICES +from .options import OPINION_CHOICES, PRIVATE class MixedMetaClass(type(StreamBaseForm), type(forms.ModelForm)): @@ -66,7 +66,12 @@ class ReviewModelForm(StreamBaseForm, forms.ModelForm, metaclass=MixedMetaClass) self.instance.score = self.calculate_score(self.cleaned_data) self.instance.recommendation = int(self.cleaned_data[self.instance.recommendation_field.id]) self.instance.is_draft = self.draft_button_name in self.data - self.instance.visibility = self.cleaned_data[self.instance.visibility_field.id] + # Old review forms do not have the requred visability field. + # This will set visibility to PRIVATE by default. + try: + self.instance.visibility = self.cleaned_data[self.instance.visibility_field.id] + except AttributeError: + self.instance.visibility = PRIVATE self.instance.form_data = self.cleaned_data['form_data'] diff --git a/opentech/apply/review/models.py b/opentech/apply/review/models.py index 7d6afded11cdff1efd147413a9f5fe363974a16c..c8ea72569e8e5d4ef6989b5d1cdead21d899c7a0 100644 --- a/opentech/apply/review/models.py +++ b/opentech/apply/review/models.py @@ -117,9 +117,6 @@ class ReviewQuerySet(models.QuerySet): def opinions(self): return ReviewOpinion.objects.filter(review__id__in=self.values_list('id')) - def visible_to(self, user): - return self.filter(visibility__in=self.model.visibility_for(user)) - class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model): submission = models.ForeignKey('funds.ApplicationSubmission', on_delete=models.CASCADE, related_name='reviews')