Completed
Push — master ( edf0e4...45e0bc )
by Vijay
10s
created

show_reject_button()   A

Complexity

Conditions 3

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %
Metric Value
cc 3
dl 0
loc 6
rs 9.4285
1
from datetime import datetime
2
3
from django import template
4
5
from wye.base.constants import WorkshopStatus
6
register = template.Library()
7
8
9
def show_draft_button(workshop, user):
10
    if (workshop.status in [WorkshopStatus.REQUESTED,
11
                            WorkshopStatus.ACCEPTED,
12
                            WorkshopStatus.DECLINED] and
13
            user in workshop.requester.user.all()):
14
        return True
15
    return False
16
17
register.filter(show_draft_button)
18
19
20
def show_requested_button(workshop, user):
21
    if (workshop.status == WorkshopStatus.HOLD and
22
            user in workshop.requester.user.all()):
23
24
        return True
25
    return False
26
27
register.filter(show_requested_button)
28
29
30
def show_accepted_button(workshop, user):
31
    if (workshop.status == WorkshopStatus.REQUESTED and
32
            'tutor' in user.profile.get_user_type):
33
        return True
34
    return False
35
36
register.filter(show_accepted_button)
37
38
39
def show_feedback_button(workshop, user):
40
    if ((workshop.status == WorkshopStatus.COMPLETED or
41
         datetime.now().date() > workshop.expected_date) and
42
        (user in workshop.requester.user.all() or
43
         user in workshop.presenter.all())):
44
45
        return True
46
    return False
47
48
register.filter(show_feedback_button)
49
50
51
def show_reject_button(workshop, user):
52
    if (workshop.status == WorkshopStatus.ACCEPTED and
53
            user in workshop.presenter.all()):
54
55
        return True
56
    return False
57
58
register.filter(show_reject_button)
59
60
61
def show_decline_button(workshop, user):
62
    neglected_workshops = [WorkshopStatus.COMPLETED,
63
                           WorkshopStatus.FEEDBACK_PENDING,
64
                           WorkshopStatus.DECLINED]
65
    if (workshop.status not in neglected_workshops and
66
            user in workshop.requester.user.all()):
67
        return True
68
    return False
69
register.filter(show_decline_button)
70