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

liqd / adhocracy-plus / 18908688697

29 Oct 2025 12:59PM UTC coverage: 44.622% (-44.5%) from 89.135%
18908688697

Pull #2986

github

web-flow
Merge 1dfde8ee7 into 445e1d498
Pull Request #2986: Draft: Speed up Github Ci Tests

3012 of 6750 relevant lines covered (44.62%)

0.45 hits per line

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

0.0
/apps/offlineevents/templatetags/offlineevent_tags.py
1
from functools import cmp_to_key
×
2

3
from django import template
×
4

5
from adhocracy4.modules.models import Module
×
6
from adhocracy4.phases.models import Phase
×
7
from apps.activities.models import Activity
×
8
from apps.offlineevents.models import OfflineEvent
×
9

10
register = template.Library()
×
11

12

13
@register.simple_tag
×
14
def offlineevents_and_modules_sorted(project):
×
15
    modules = list(project.module_set.all())
×
16
    events = list(OfflineEvent.objects.filter(project=project))
×
17
    res = modules + events
×
18
    return sorted(res, key=cmp_to_key(_cmp))
×
19

20

21
def _cmp(x, y):
×
22
    x_date = x.first_phase_start_date if isinstance(x, Module) else x.date
×
23
    if x_date is None:
×
24
        return 1
×
25

26
    y_date = y.first_phase_start_date if isinstance(y, Module) else y.date
×
27
    if y_date is None:
×
28
        return -1
×
29

30
    if x_date > y_date:
×
31
        return 1
×
32
    elif x_date == y_date:
×
33
        return 0
×
34
    else:
35
        return -1
×
36

37

38
@register.filter
×
39
def is_phase(obj):
×
40
    return isinstance(obj, Phase)
×
41

42

43
@register.filter
×
44
def is_module(obj):
×
45
    return isinstance(obj, Module)
×
46

47

48
@register.filter
×
49
def is_offlineevent(obj):
×
50
    return isinstance(obj, OfflineEvent)
×
51

52

53
@register.filter
×
54
def has_activity(obj):
×
55
    try:
×
56
        return isinstance(obj.item_set.first().activity, Activity)
×
57
    except AttributeError:
×
58
        try:
×
59
            return isinstance(
×
60
                obj.future_phases.first().module.item_set.first().activity, Activity
61
            )
62
        except AttributeError:
×
63
            return isinstance(obj, Activity)
×
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

© 2025 Coveralls, Inc