• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

liqd / adhocracy-plus / 25327419454

04 May 2026 03:20PM UTC coverage: 42.415% (-43.8%) from 86.168%
25327419454

Pull #3075

github

web-flow
Merge 06ba30015 into 15731e8ac
Pull Request #3075: [ST-1932] Breadcrumb Navigation

0 of 31 new or added lines in 1 file covered. (0.0%)

3376 existing lines in 150 files now uncovered.

3302 of 7785 relevant lines covered (42.41%)

0.42 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/projects/api.py
UNCOV
1
from django.db.models import Q
×
UNCOV
2
from django.utils import timezone
×
UNCOV
3
from rest_framework import permissions
×
UNCOV
4
from rest_framework import viewsets
×
5

UNCOV
6
from adhocracy4.modules.models import Module
×
UNCOV
7
from adhocracy4.projects.enums import Access
×
UNCOV
8
from adhocracy4.projects.models import Project
×
9

UNCOV
10
from .serializers import AppModuleSerializer
×
UNCOV
11
from .serializers import AppProjectSerializer
×
UNCOV
12
from .serializers import ModerationProjectSerializer
×
13

14

15
# FIXME:rename it from AppProjectsViewSet to ProjectViewSet
UNCOV
16
class AppProjectsViewSet(viewsets.ReadOnlyModelViewSet):
×
UNCOV
17
    serializer_class = AppProjectSerializer
×
UNCOV
18
    permission_classes = (permissions.IsAuthenticated,)
×
UNCOV
19
    lookup_field = "slug"
×
20

UNCOV
21
    def get_queryset(self):
×
UNCOV
22
        now = timezone.now()
×
UNCOV
23
        return Project.objects.filter(
×
24
            Q(access=Access.PUBLIC) | Q(access=Access.SEMIPUBLIC),
25
            Q(module__phase__start_date__lte=now)
26
            | Q(module__phase__start_date__gt=now),
27
            module__phase__end_date__gt=now,
28
            is_draft=False,
29
            is_archived=False,
30
            organisation__enable_geolocation=True,  # TODO: replace with a django filter later
31
        )
32

33

UNCOV
34
class AppModuleViewSet(viewsets.ReadOnlyModelViewSet):
×
UNCOV
35
    serializer_class = AppModuleSerializer
×
UNCOV
36
    permission_classes = (permissions.IsAuthenticated,)
×
37

UNCOV
38
    def get_queryset(self):
×
UNCOV
39
        return Module.objects.filter(is_draft=False, project__is_app_accessible=True)
×
40

41

UNCOV
42
class ModerationProjectsViewSet(viewsets.ReadOnlyModelViewSet):
×
UNCOV
43
    serializer_class = ModerationProjectSerializer
×
UNCOV
44
    permission_classes = (permissions.IsAuthenticated,)
×
45

UNCOV
46
    def get_queryset(self):
×
47
        return self.request.user.project_moderator.all().select_related("organisation")
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc