API-Manager/apimanager/base/views.py

59 lines
1.8 KiB
Python
Raw Permalink Normal View History

2016-11-09 13:54:47 +00:00
# -*- coding: utf-8 -*-
2016-11-21 13:55:35 +00:00
"""
Views for base app
"""
2023-04-06 12:51:35 +00:00
from django.contrib import messages
2016-11-09 13:54:47 +00:00
from django.conf import settings
from django.views.generic import TemplateView, View
2022-05-10 10:14:03 +00:00
from django.shortcuts import render
from obp.forms import DirectLoginForm, GatewayLoginForm
2022-10-27 11:51:00 +00:00
from obp.api import API, APIError
2022-10-24 09:10:37 +00:00
2022-10-27 11:51:00 +00:00
def get_banks(request):
api = API(request.session.get('obp'))
try:
2023-04-06 12:59:30 +00:00
urlpath = '/banks'
2022-10-27 11:51:00 +00:00
result = api.get(urlpath)
if 'banks' in result:
return [bank['id'] for bank in sorted(result['banks'], key=lambda d: d['id'])]
else:
return []
except APIError as err:
2023-04-06 12:51:35 +00:00
messages.error(request, err)
2022-10-27 11:51:00 +00:00
return []
2023-03-01 12:07:28 +00:00
def get_api_versions(request):
api = API(request.session.get('obp'))
try:
urlpath = '/api/versions'
result = api.get(urlpath)
if 'scanned_api_versions' in result:
2023-03-02 12:26:49 +00:00
return [apiversion['API_VERSION'] for apiversion in sorted(result['scanned_api_versions'], key=lambda d: d['API_VERSION'])]
2023-03-01 12:07:28 +00:00
else:
return []
except APIError as err:
2023-11-29 15:07:55 +00:00
messages.error(request, err)
2023-03-01 12:07:28 +00:00
return []
2016-11-09 13:54:47 +00:00
class HomeView(TemplateView):
2016-11-21 13:55:35 +00:00
"""View for home page"""
2016-11-09 13:54:47 +00:00
template_name = "home.html"
def get_context_data(self, **kwargs):
context = super(HomeView, self).get_context_data(**kwargs)
context.update({
'API_HOST': settings.API_HOST,
2021-07-28 15:03:31 +00:00
'logo_url': settings.LOGO_URL,
2021-07-30 10:53:17 +00:00
'override_css_url': settings.OVERRIDE_CSS_URL,
'directlogin_form': DirectLoginForm(),
2022-09-24 21:23:34 +00:00
'ALLOW_DIRECT_LOGIN':settings.ALLOW_DIRECT_LOGIN,
'gatewaylogin_form': GatewayLoginForm(),
2022-09-24 21:23:34 +00:00
'ALLOW_GATEWAY_LOGIN': settings.ALLOW_GATEWAY_LOGIN,
2022-09-06 14:03:17 +00:00
'SHOW_API_TESTER':settings.SHOW_API_TESTER,
'API_TESTER_URL':settings.API_TESTER_URL
})
2016-11-09 13:54:47 +00:00
return context
2022-05-10 10:14:03 +00:00