diff --git a/atlas/forms.py b/atlas/forms.py index 8c188ea4..d9e45115 100755 --- a/atlas/forms.py +++ b/atlas/forms.py @@ -665,7 +665,7 @@ CaseDifferentialFormSet = inlineformset_factory( class ResourceForm(ModelForm): class Meta: model = Resource - exclude = ["author"] + exclude = ["author", "created_date"] widgets = { "description": Textarea(attrs={"cols": 80, "rows": 5}), diff --git a/atlas/views.py b/atlas/views.py index aaaac4ce..089bc433 100755 --- a/atlas/views.py +++ b/atlas/views.py @@ -1321,6 +1321,17 @@ class ResourceView(LoginRequiredMixin, UserConfigurablePaginationMixin, SingleTa template_name = "atlas/resource_list.html" filterset_class = ResourceFilter + def get_queryset(self): + # Base queryset + qs = Resource.objects.all() + + # Atlas editors and superusers see everything + if self.request.user.is_superuser or self.request.user.groups.filter(name="atlas_editor").exists(): + return qs + + # Otherwise only show open access resources or those authored by the user + return qs.filter(Q(open_access=True) | Q(author__id=self.request.user.id)).distinct() + class CaseCollectionCreate(RevisionMixin, LoginRequiredMixin, CreateView): model = CaseCollection