Skip to content

Commit

Permalink
Merge branch 'release/0.3.54' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Jul 5, 2023
2 parents 9a495ec + 121f718 commit 49bebde
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
4 changes: 2 additions & 2 deletions edc_data_manager/admin/data_query_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@
from ..auth_objects import DATA_MANAGER
from ..constants import CLOSED_WITH_ACTION
from ..forms import DataQueryForm
from ..modeladmin_mixins import DataManagerModelAdminMixin
from ..modeladmin_mixins import DataManagerSiteModelAdminMixin
from ..models import DataDictionary, DataQuery
from .actions import toggle_dm_status


@register(DataQuery, site=edc_data_manager_admin)
class DataQueryAdmin(
DataManagerModelAdminMixin, ModelAdminSubjectDashboardMixin, SimpleHistoryAdmin
DataManagerSiteModelAdminMixin, ModelAdminSubjectDashboardMixin, SimpleHistoryAdmin
):
status_column_template_name = (
f"edc_data_manager/bootstrap{get_bootstrap_version()}/columns/status.html"
Expand Down
18 changes: 12 additions & 6 deletions edc_data_manager/modeladmin_mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,19 @@
from django.utils.html import format_html
from django.utils.safestring import mark_safe

from edc_data_manager.auth_objects import DATA_MANAGER_ROLE
from .auth_objects import DATA_MANAGER_ROLE


class DataManagerModelAdminMixin:
class DataManagerSiteModelAdminMixin:
"""Do not declare together with `SiteModelAdminMixin`"""

on_site_manager = "on_site"

def get_queryset(self: ModelAdmin, request):
"""
Return a QuerySet of all model instances that can be edited by the
admin site. This is used by changelist_view.
Return a QuerySet of all model instances for multiple sites
that can be viewed/edited by the admin site. This is used
by changelist_view.
"""
expanded_view_roles = getattr(
settings, "EDC_DATA_MANAGER_EXPANDED_VIEW_ROLES", [DATA_MANAGER_ROLE]
Expand All @@ -27,7 +32,7 @@ def get_queryset(self: ModelAdmin, request):
roles = [r.name for r in request.user.userprofile.roles.all()]
if list(set(expanded_view_roles) & set(roles)):
site_ids = [s.id for s in request.user.userprofile.sites.all()]
qs = self.model.objects.get_queryset().filter(site_id__in=site_ids)
qs = self.model._default_manager.get_queryset().filter(site_id__in=site_ids)
storage = get_messages(request)
if not [message for message in storage if message.message == my_message]:
self.message_user(
Expand All @@ -37,7 +42,8 @@ def get_queryset(self: ModelAdmin, request):
fail_silently=True,
)
else:
qs = self.model._default_manager.get_queryset()
manager = self.on_site_manager or "_default_manager"
qs = getattr(self.model, manager).get_queryset()
ordering = self.get_ordering(request)
if ordering:
qs = qs.order_by(*ordering)
Expand Down

0 comments on commit 49bebde

Please sign in to comment.