mirror of
https://github.com/OpenBankProject/API-Manager.git
synced 2026-02-06 13:06:45 +00:00
bugfix/merge date time to same form row
This commit is contained in:
parent
3491f17e75
commit
6b54d4a107
@ -251,6 +251,9 @@ API_DATE_FORMAT_WITH_SECONDS = '%Y-%m-%dT%H:%M:%SZ'
|
||||
#Map Java: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
|
||||
API_DATE_FORMAT_WITH_MILLISECONDS = '%Y-%m-%dT%H:%M:%S.%fZ'
|
||||
|
||||
# the API_Manager the web form datetime format, eg: 2023-11-28 10:49:27
|
||||
API_DATE_FORMAT_WITH_DAY_DATE_TIME = '%Y-%m-%d %H:%M:%S'
|
||||
|
||||
# the API_Manager the web form date format, eg: 2020-10-11
|
||||
API_DATE_FORMAT_WITH_DAY = '%Y-%m-%d'
|
||||
API_FIELD_TIME_FORMAT = '%H-%M-%S'
|
||||
|
||||
@ -4,7 +4,8 @@ Base utilities
|
||||
"""
|
||||
from django.contrib.humanize.templatetags.humanize import naturaltime
|
||||
from datetime import datetime, timedelta
|
||||
from apimanager.settings import API_DATE_FORMAT_WITH_MILLISECONDS, API_DATE_FORMAT_WITH_DAY
|
||||
from apimanager.settings import API_DATE_FORMAT_WITH_MILLISECONDS, API_DATE_FORMAT_WITH_DAY, \
|
||||
API_DATE_FORMAT_WITH_DAY_DATE_TIME
|
||||
from base import context_processors
|
||||
from django.contrib import messages
|
||||
import functools
|
||||
@ -61,7 +62,7 @@ def convert_form_date_to_obpapi_datetime_format(form_to_date_string):
|
||||
"""
|
||||
convert the String 2020-10-22 to 2020-10-22T00:00:00.000000Z
|
||||
"""
|
||||
return datetime.strptime(form_to_date_string, API_DATE_FORMAT_WITH_DAY).strftime(API_DATE_FORMAT_WITH_MILLISECONDS)
|
||||
return datetime.strptime(form_to_date_string, API_DATE_FORMAT_WITH_DAY_DATE_TIME).strftime(API_DATE_FORMAT_WITH_MILLISECONDS)
|
||||
|
||||
def return_to_days_ago(date, days):
|
||||
"""
|
||||
|
||||
@ -10,54 +10,32 @@ from django.forms.widgets import SelectMultiple, CheckboxInput, CheckboxSelectMu
|
||||
from datetime import datetime, timedelta
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from bootstrap_datepicker_plus import DatePickerInput, DateTimePickerInput
|
||||
from apimanager.settings import API_DATE_FORMAT_WITH_DAY, API_DATE_FORMAT_WITH_MILLISECONDS
|
||||
from apimanager.settings import API_DATE_FORMAT_WITH_DAY, API_FIELD_TIME_FORMAT
|
||||
from bootstrap_datepicker_plus import DateTimePickerInput
|
||||
from apimanager.settings import API_DATE_FORMAT_WITH_DAY_DATE_TIME
|
||||
|
||||
API_DATE_FORMAT_WITH_MILLISECONDS_PLACEHOLDER = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
|
||||
FORM_CONTROL = 'form-control'
|
||||
FROM_DATE = 'From Date'
|
||||
TO_DATE = 'To Date'
|
||||
FROM_DATE = 'From Date Time'
|
||||
TO_DATE = 'To Date Time'
|
||||
PLACEHOLDER = "2013-01-22"
|
||||
PLACEHOLDER1 = "23:59:59"
|
||||
PLACEHOLDER1 = "2022-01-01 12:30:45"
|
||||
PLACEHOLDER2 = "00:00:00"
|
||||
|
||||
class MetricsForm(forms.Form):
|
||||
from_date = forms.DateTimeField(
|
||||
label=_(FROM_DATE),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=(datetime.now() - timedelta(1)).strftime(API_DATE_FORMAT_WITH_DAY),
|
||||
)
|
||||
from_time = forms.TimeField(
|
||||
label=_('From Time'),
|
||||
widget=forms.TimeInput(
|
||||
format='%H:%M:%S',
|
||||
attrs={
|
||||
'placeholder': PLACEHOLDER2,
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=False,
|
||||
initial=(datetime.now() - timedelta(1)).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
|
||||
to_date = forms.DateTimeField(
|
||||
label=_(TO_DATE),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=(datetime.now() - timedelta()).strftime(API_DATE_FORMAT_WITH_DAY),
|
||||
)
|
||||
to_date_time = forms.TimeField(
|
||||
label=_('To Time'),
|
||||
widget=forms.TimeInput(
|
||||
format='%H:%M:%S',
|
||||
attrs={
|
||||
'placeholder': PLACEHOLDER1,
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=False,
|
||||
initial=(datetime.now() - timedelta()).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
|
||||
limit = forms.IntegerField(
|
||||
label=_('Limit'),
|
||||
widget=forms.NumberInput(
|
||||
@ -179,9 +157,9 @@ class ConnectorMetricsForm(MetricsForm):
|
||||
# override from_date until API returns values without given date
|
||||
from_date = forms.DateTimeField(
|
||||
label=_(FROM_DATE),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=(datetime.now() - timedelta(6)).strftime(API_DATE_FORMAT_WITH_DAY),
|
||||
initial=(datetime.now() - timedelta(6)).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
connector_name = forms.CharField(
|
||||
label=_('Connector Name'),
|
||||
@ -213,39 +191,17 @@ class ConnectorMetricsForm(MetricsForm):
|
||||
|
||||
|
||||
class CustomSummaryForm(forms.Form):
|
||||
to_date = forms.DateField(
|
||||
label=_("Date"),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
to_date = forms.DateTimeField(
|
||||
label=_(TO_DATE),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=str(datetime.now().strftime(API_DATE_FORMAT_WITH_DAY)),
|
||||
initial=(datetime.now()).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
to_date_time = forms.TimeField(
|
||||
label=_('Time'),
|
||||
widget=forms.TimeInput(
|
||||
format='%H:%M:%S',
|
||||
attrs={
|
||||
'placeholder': PLACEHOLDER2,
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=False,
|
||||
)
|
||||
from_date_custom = forms.DateField(
|
||||
from_date_custom = forms.DateTimeField(
|
||||
label=_(FROM_DATE),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=(datetime.now() - timedelta(6)).strftime(API_DATE_FORMAT_WITH_DAY),
|
||||
)
|
||||
from_time_custom = forms.TimeField(
|
||||
label=_('Time'),
|
||||
widget=forms.TimeInput(
|
||||
format='%H:%M:%S',
|
||||
attrs={
|
||||
'placeholder': PLACEHOLDER1,
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=False,
|
||||
initial=(datetime.now() - timedelta(6)).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
include_app_names = forms.CharField(
|
||||
label=_('Include App Names'),
|
||||
@ -263,22 +219,11 @@ class CustomSummaryForm(forms.Form):
|
||||
super(CustomSummaryForm, self).__init__(*args, **kwargs)
|
||||
|
||||
class MonthlyMetricsSummaryForm(forms.Form):
|
||||
to_date = forms.DateField(
|
||||
label=_("To Date"),
|
||||
widget=DatePickerInput(format=API_DATE_FORMAT_WITH_DAY),
|
||||
to_date = forms.DateTimeField(
|
||||
label=_(TO_DATE),
|
||||
widget=DateTimePickerInput(format=API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
required=True,
|
||||
initial=str(datetime.now().strftime(API_DATE_FORMAT_WITH_DAY)),
|
||||
)
|
||||
to_date_time = forms.TimeField(
|
||||
label=_('Time'),
|
||||
widget=forms.TimeInput(
|
||||
format='%H:%M:%S',
|
||||
attrs={
|
||||
'placeholder': PLACEHOLDER1,
|
||||
'class': 'form-control',
|
||||
}
|
||||
),
|
||||
required=False,
|
||||
initial=(datetime.now()).strftime(API_DATE_FORMAT_WITH_DAY_DATE_TIME),
|
||||
)
|
||||
include_app_names = forms.CharField(
|
||||
label=_('Include App Names'),
|
||||
|
||||
@ -44,13 +44,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
@ -44,10 +44,6 @@
|
||||
</div>
|
||||
<!--<div class="col-xs-6 col-sm-3">
|
||||
{% if form.from_time_custom.errors %}<div class="alert alert-danger">{{ form.from_time_custom.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "From Time" %} </strong>
|
||||
{{ form.from_time_custom }}
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
|
||||
@ -56,20 +52,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-6 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
<strong>{% trans "To Time" %} </strong>
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.include_app_names.label_tag }}
|
||||
{{ form.include_app_names }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">{% trans "Search" %}</button>
|
||||
</form>
|
||||
|
||||
@ -49,13 +49,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -48,13 +48,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -36,7 +36,6 @@
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
{% if form.to_date.errors %}<div class="alert alert-danger">{{ form.to_date.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
@ -44,14 +43,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -48,14 +48,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -50,14 +50,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -50,13 +50,6 @@
|
||||
{{ form.to_date }}
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="col-xs-4 col-sm-3">
|
||||
{% if form.to_date_time.errors %}<div class="alert alert-danger">{{ form.to_date_time.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
{{ form.to_date_time.label_tag }}
|
||||
{{ form.to_date_time }}
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="col-xs-4 col-sm-3">
|
||||
{% if form.include_app_names.errors %}<div class="alert alert-danger">{{ form.include_app_names.errors }}</div>{% endif %}
|
||||
<div class="form-group">
|
||||
|
||||
@ -893,7 +893,6 @@ class MonthlyMetricsSummaryView(LoginRequiredMixin, TemplateView):
|
||||
print(form.data, "Form data")
|
||||
to_date = convert_form_date_to_obpapi_datetime_format(form_to_date_string)
|
||||
print("to_date", to_date)
|
||||
#to_date = datetime.datetime.strptime(f"{form.data['to_date']}T{form.data['to_date_time']}Z", API_DATE_FORMAT_WITH_SECONDS ).strftime(API_DATE_FORMAT_WITH_MILLISECONDS)
|
||||
if (web_page_type == SummaryType.DAILY):
|
||||
# for one day, the from_date is 1 day ago.
|
||||
from_date = return_to_days_ago(to_date, 0)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user