Revision 9fd36718

b/snf-cyclades-app/synnefo/app_settings/default/helpdesk.py
1
#Enable the helpdesk application
2
#HELPDESK_ENABLED = True
3

  
4
# Which is the cookie name that stores the token, leave it commented out
5
# to use same value as UI_AUTH_COOKIE_NAME value.
6
#HELPDESK_AUTH_COOKIE_NAME = UI_AUTH_COOKIE_NAME
b/snf-cyclades-app/synnefo/helpdesk/fixtures/helpdesk_test.json
94 94
        }
95 95
    },
96 96
    {
97
        "model": "db.NetworkLink",
97
        "model": "db.NetworkInterface",
98 98
        "pk": 1,
99 99
        "fields": {
100 100
            "index": 0,
101
            "name": "snf_null",
102
            "available": 0
101
            "machine": 1,
102
            "network": 1,
103
            "mac": "00:11"
103 104
        }
104 105
    }
105 106
]
b/snf-cyclades-app/synnefo/helpdesk/tests.py
68 68
        astakos.get_user = get_user_mock
69 69

  
70 70
        settings.SKIP_SSH_VALIDATION = True
71
        settings.HELPDESK_ENABLED = True
71 72
        self.client = AaiClient()
72 73
        self.user = 'test'
73 74
        self.keys_url = reverse('ui_keys_collection')
74 75

  
76
    def test_enabled_setting(self):
77
        settings.HELPDESK_ENABLED = False
78

  
79
        # helpdesk is disabled
80
        r = self.client.get(reverse('helpdesk-index'), user_token="0001")
81
        self.assertEqual(r.status_code, 404)
82
        r = self.client.get(reverse('helpdesk-details', args=['testuser@test.com']),
83
                user_token="0001")
84
        self.assertEqual(r.status_code, 404)
85

  
75 86
    def test_ip_lookup(self):
76 87
        # ip does not exist, proper message gets displayed
77 88
        r = self.client.get(reverse('helpdesk-details',
b/snf-cyclades-app/synnefo/helpdesk/views.py
32 32

  
33 33
    return None
34 34

  
35

  
35 36
# TODO: here we mix ui setting with helpdesk settings
36 37
# if sometime in the future helpdesk gets splitted from the
37 38
# cyclades api code this should change and helpdesk should provide
38 39
# its own setting HELPDESK_AUTH_COOKIE_NAME.
39
HELPDESK_AUTH_COOKIE = getattr(settings, 'UI_AUTH_COOKIE_NAME', '_pithos2_a')
40
AUTH_COOKIE = getattr(settings, 'UI_AUTH_COOKIE_NAME', getattr(settings,
41
    'HELPDESK_AUTH_COOKIE_NAME', '_pithos2_a'))
42

  
40 43

  
41 44
def helpdesk_user_required(func, groups=['helpdesk']):
42 45
    """
......
44 47
    permissions (exists in helpdesk group)
45 48
    """
46 49
    def wrapper(request, *args, **kwargs):
47
        token = get_token_from_cookie(request, HELPDESK_AUTH_COOKIE)
50
        HELPDESK_ENABLED = getattr(settings, 'HELPDESK_ENABLED', True)
51
        if not HELPDESK_ENABLED:
52
            raise Http404
53

  
54
        token = get_token_from_cookie(request, AUTH_COOKIE)
48 55
        get_user(request, settings.ASTAKOS_URL, fallback_token=token)
49 56
        if hasattr(request, 'user') and request.user:
50 57
            groups = request.user.get('groups', [])

Also available in: Unified diff