diff --git a/apimanager/.env b/apimanager/.env index 5762de9..b96a46e 100644 --- a/apimanager/.env +++ b/apimanager/.env @@ -1 +1 @@ -OAUTH_CONSUMER_KEY = dmi4bhpdjtsjka5ed5a32wawitwwfftm4xoiksnu \ No newline at end of file +OAUTH_CONSUMER_KEY = idilp2i0jodj4wk54kbizadz3o0gotduud0educb \ No newline at end of file diff --git a/apimanager/apimanager/settings.py b/apimanager/apimanager/settings.py index eedbec2..69de744 100644 --- a/apimanager/apimanager/settings.py +++ b/apimanager/apimanager/settings.py @@ -171,10 +171,11 @@ STATIC_URL = '/static/' from django.utils.translation import gettext_lazy as _ -#LANGUAGES = ( -# ("en", _("English")), -# ("fr", _("French")), -#) +LANGUAGES = ( + ("en", _("English")), + ("fr", _("French")), + ("es", _("Spanish")) +) LOCALE_PATHS = ( os.path.join(BASE_DIR, "locale/"), diff --git a/apimanager/apimanager/urls.py b/apimanager/apimanager/urls.py index 245b936..bf0458b 100644 --- a/apimanager/apimanager/urls.py +++ b/apimanager/apimanager/urls.py @@ -19,7 +19,9 @@ urlpatterns = [ # backward compatibility ] urlpatterns += i18n_patterns( +#urlpatterns = ( url(r'^$', HomeView.as_view(), name="home"), + url(r'^oauth/initiate$', OAuthInitiateView.as_view(), name='oauth-initiate'), url(r'^single-sign-on', diff --git a/apimanager/atms/templates/atms/atm_List.html b/apimanager/atms/templates/atms/atm_List.html new file mode 100644 index 0000000..297e546 --- /dev/null +++ b/apimanager/atms/templates/atms/atm_List.html @@ -0,0 +1,72 @@ +{% extends 'base.html' %} {% load static %} {% load i18n %} +{% block page_title %}{{ block.super }} / atms{% endblock page_title %} {% block content %} +
+

ATM Detail

+
+ + + + + + + + + + {% for atm in atms_list %} + + {% url 'atms_update' atm.id atm.bank_id as url_atm_update %} + + + + + + + + {% endfor %} + + +
{% trans "ATM Id" %}{% trans "Bank Id" %}{% trans "ATM Name" %}{% trans "More info" %}
{{ atm.id }}{{ atm.bank_id }}{{ atm.name }} +
+
    +
  • Address: +
      +
    • line1: {{atm.address.line_1}}
    • +
    +
  • + +
+
+
View
+
+
+{% endblock %} {% block extrajs %} {% endblock extrajs %} {% block extracss %} + {% endblock extracss %} \ No newline at end of file diff --git a/apimanager/atms/templates/atms/index.html b/apimanager/atms/templates/atms/index.html index 22589fe..50bafa7 100644 --- a/apimanager/atms/templates/atms/index.html +++ b/apimanager/atms/templates/atms/index.html @@ -210,74 +210,12 @@
-
- - - - - - - - - - {% for atm in atms_list %} - - {% url 'atms_update' atm.id atm.bank_id as url_atm_update %} - - - - - - - - {% endfor %} - -
{% trans "ATM Id" %}{% trans "Bank Id" %}{% trans "ATM Name" %}{% trans "More info" %}
{{ atm.id }}{{ atm.bank_id }}{{ atm.name }} -
-
    -
  • Address: -
      -
    • line1: {{atm.address.line_1}}
    • -
    • line2: {{atm.address.line_2}}
    • -
    • line3: {{atm.address.line_3}}
    • -
    • city: {{atm.address.city}}
    • -
    • county: {{atm.address.county}}
    • -
    • state: {{atm.address.state}}
    • -
    • postcode: {{atm.address.postcode}}
    • -
    • country_code: {{atm.address.country_code}}
    • -
    -
  • -
  • Location: -
      -
    • latitude: {{atm.location.latitude}}
    • -
    • longitude: {{atm.location.longitude}}
    • -
    -
  • -
  • Meta License: -
      -
    • id: {{atm.meta.license.id}}
    • -
    • name: {{atm.meta.license.name}}
    • -
    -
  • -
  • ATM Routing -
      -
    • Scheme: {{atm.atm_routing.scheme}}
    • -
    • Address: {{atm.atm_routing.address}}
    • -
    -
  • -
  • ATM Type: {{atm.branch_type}}
  • -
  • More Info: {{atm.more_info}}
  • -
  • Accessible Features: {{atm.accessibleFeatures}}
  • -
-
-
View
-
{% endblock %} {% block extrajs %} {% endblock extrajs %} {% block extracss %} diff --git a/apimanager/atms/urls.py b/apimanager/atms/urls.py index 5667f83..6f139ea 100644 --- a/apimanager/atms/urls.py +++ b/apimanager/atms/urls.py @@ -5,7 +5,7 @@ URLs for metrics app from django.conf.urls import url -from .views import IndexAtmsView, UpdateAtmsView +from .views import IndexAtmsView, UpdateAtmsView, atmListView urlpatterns = [ url(r'^$', @@ -13,5 +13,8 @@ urlpatterns = [ name='atms_list'), url(r'^update/(?P[ 0-9\w|\W\@\.\+-]+)/bank/(?P[0-9\w\@\.\+-]+)/$', UpdateAtmsView.as_view(), - name='atms_update') + name='atms_update'), + url(r'^atmlist/$', + atmListView.as_view(), + name='all_atms') ] diff --git a/apimanager/atms/views.py b/apimanager/atms/views.py index 554ee33..473a4cb 100644 --- a/apimanager/atms/views.py +++ b/apimanager/atms/views.py @@ -180,7 +180,7 @@ class IndexAtmsView(LoginRequiredMixin, FormView): messages.success(self.request, msg) return super(IndexAtmsView, self).form_valid(form) - def get_banks(self): + """def get_banks(self): api = API(self.request.session.get('obp')) try: urlpath = '/banks' @@ -221,12 +221,11 @@ class IndexAtmsView(LoginRequiredMixin, FormView): 'atms_list': atms_list, 'bankids': self.bankids }) - return context + return context""" class UpdateAtmsView(LoginRequiredMixin, FormView): template_name = "atms/update.html" success_url = '/atms/' - print(success_url) form_class = CreateAtmForm def dispatch(self, request, *args, **kwargs): @@ -323,32 +322,32 @@ class UpdateAtmsView(LoginRequiredMixin, FormView): } }, "monday": { - "opening_time": "", - "closing_time": "" + "opening_time": " ", + "closing_time": " " }, "tuesday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "wednesday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "thursday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "friday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "saturday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "sunday": { - "opening_time": "10:00", - "closing_time": "18:00" + "opening_time": " ", + "closing_time": " " }, "is_accessible": data["is_accessible"] if data["is_accessible"]!="" else "false", "located_at": data["located_at"] if data["located_at"]!="no-example-provided" else " ", @@ -393,3 +392,47 @@ class UpdateAtmsView(LoginRequiredMixin, FormView): 'bank_id': self.bank_id }) return context + +class atmListView(IndexAtmsView, LoginRequiredMixin, FormView ): + template_name = "atms/atm_List.html" + success_url = '/atms/' + def get_banks(self): + api = API(self.request.session.get('obp')) + try: + urlpath = '/banks' + 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: + messages.error(self.request, err) + return [] + + def get_atms(self, context): + api = API(self.request.session.get('obp')) + try: + self.bankids = self.get_banks() + atms_list = [] + for bank_id in self.bankids: + urlpath = '/banks/{}/atms'.format(bank_id) + result = api.get(urlpath) + #print(result) + if 'atms' in result: + atms_list.extend(result['atms']) + except APIError as err: + messages.error(self.request, err) + return [] + except Exception as inst: + messages.error(self.request, "Unknown Error {}".format(type(inst).__name__)) + return [] + + return atms_list + def get_context_data(self, **kwargs): + context = super(IndexAtmsView, self).get_context_data(**kwargs) + atms_list = self.get_atms(context) + context.update({ + 'atms_list': atms_list, + 'bankids': self.bankids + }) + return context diff --git a/apimanager/base/templates/base.html b/apimanager/base/templates/base.html index 68861ca..3c00dc2 100644 --- a/apimanager/base/templates/base.html +++ b/apimanager/base/templates/base.html @@ -81,6 +81,7 @@ {% trans "Customers" %} {% trans "Branches" %} {% trans "ATMs" %} + {% trans "ATMs View" %} {% url "config-index" as config_index_url %} @@ -130,7 +131,6 @@ ES -