diff --git a/main/forms.py b/main/forms.py
index a8c2ec1..9bd09e0 100644
--- a/main/forms.py
+++ b/main/forms.py
@@ -2,7 +2,6 @@ from django import forms
from django.contrib.auth.forms import AuthenticationForm
from django_registration.forms import RegistrationFormUniqueEmail
-from access_controller.settings import ZENDESK_ROLES
from main.models import UserProfile
@@ -15,6 +14,7 @@ class CustomRegistrationForm(RegistrationFormUniqueEmail):
:param visible_fields.email: Поле для ввода email, зарегистирированного на Zendesk
:type visible_fields.email: :class:`django_registration.forms.RegistrationFormUniqueEmail`
"""
+
def __init__(self, *args, **kwargs) -> RegistrationFormUniqueEmail:
super().__init__(*args, **kwargs)
for visible in self.visible_fields():
@@ -68,29 +68,60 @@ class CustomAuthenticationForm(AuthenticationForm):
}
+INTERVAL_CHOICES = [
+ ('days', 'Дни'),
+ ('months', 'Месяцы')
+]
+DISPLAY_CHOICES = [
+ ('hours', 'Часы'),
+ ('days', 'Дни')
+]
+
+
class StatisticForm(forms.Form):
email = forms.EmailField(
label='Электроная почта',
- )
- interval = forms.CharField( # TODO: Переделать под html страницу
- label='Интервал работы',
- )
- display_format = forms.CharField( # TODO: Переделать под html страницу
- label='Формат отображения',
- )
- range_start = forms.DateField( # TODO: Переделать под html страницу
- label='Начало диапазона',
- widget=forms.DateInput(
+ widget=forms.EmailInput(
attrs={
- 'type': 'date',
+ 'placeholder': 'example@ngenix.ru',
+ 'class': 'form-control',
+ 'style': 'background-color:#f2f2f2;'
}
),
)
- range_end = forms.DateField( # TODO: Переделать под html страницу
- label='Конец диапазона',
+ interval = forms.ChoiceField(
+ label='Выберите интервалы времени работы',
+ choices=INTERVAL_CHOICES,
+ widget=forms.RadioSelect(
+ attrs={
+ 'class': 'btn-check',
+ }
+ )
+ )
+ display_format = forms.ChoiceField(
+ label='Выберите формат отображения',
+ choices=DISPLAY_CHOICES,
+ widget=forms.RadioSelect(
+ attrs={
+ 'class': 'btn-check',
+ }
+ )
+ )
+ range_start = forms.DateField(
+ label='Начало статистики',
widget=forms.DateInput(
attrs={
'type': 'date',
+ 'class': 'btn btn-secondary text-primary bg-white',
+ }
+ ),
+ )
+ range_end = forms.DateField(
+ label='Конец статистики',
+ widget=forms.DateInput(
+ attrs={
+ 'type': 'date',
+ 'class': 'btn btn-secondary text-primary bg-white',
}
),
)
diff --git a/main/models.py b/main/models.py
index 112e29e..8880890 100644
--- a/main/models.py
+++ b/main/models.py
@@ -34,7 +34,6 @@ class RoleChangeLogs(models.Model):
"""Модель для логирования изменений ролей пользователя"""
user = models.ForeignKey(to=User, on_delete=models.CASCADE,
help_text='Пользователь, которому присвоили другую роль')
- name = models.TextField(help_text='Имя пользователя')
old_role = models.IntegerField(default=0, help_text='Старая роль')
new_role = models.IntegerField(default=0, help_text='Присвоенная роль')
change_time = models.DateTimeField(help_text='Дата и время изменения роли')
diff --git a/main/templates/pages/stat.html b/main/templates/pages/stat.html
deleted file mode 100644
index 9279123..0000000
--- a/main/templates/pages/stat.html
+++ /dev/null
@@ -1,49 +0,0 @@
-{% extends 'base/base.html' %}
-
-{% load static %}
-
-{% block title %}{{ pagename }}{% endblock %}
-
-{% block heading %} Пример страницы статистики(палками не бейти плиз){% endblock %}
-
-{% block extra_css %}
-
-{% endblock %}
-
-{% block content %}
-
-
-
- {% for error in errors %}
- - {{error}}
- {% endfor %}
-
- {%if form.errors%}
-
- {% for field, errors in form.errors.items %}
- {% for error in errors %}
- - {{error}}
- {% endfor %}
- {% endfor %}
-
- {%endif%}
-
- {% for warning in warnings %}
- - {{warning}}
- {% endfor %}
-
- {% for key,val in log_stats.items %}
-
{{key}} | {{val}}
-
- {% endfor %}
-
-{% endblock %}
-
diff --git a/main/templates/pages/statistic.html b/main/templates/pages/statistic.html
new file mode 100644
index 0000000..9a9219b
--- /dev/null
+++ b/main/templates/pages/statistic.html
@@ -0,0 +1,106 @@
+{% extends 'base/base.html' %}
+
+{% load static %}
+
+{% block title %}{{ pagename }}{% endblock %}
+
+{% block heading %} Страницы просмотра статистики{% endblock %}
+
+{% block content%}
+
+
+
+ {% for error in errors %}
+ - {{error}}
+ {% endfor %}
+
+
+ {% for warning in warnings %}
+ - {{warning}}
+ {% endfor %}
+
+
+
+
+
+ Пользователи/Даты |
+ {% for date in log_stats.keys %}
+ {{date}} |
+ {% endfor %}
+
+
+
+
+ {{ form.email.value }} |
+ {% for time in log_stats.values %}
+ {{time}} |
+ {% endfor %}
+
+
+
+
+
+{% endblock %}
diff --git a/main/templates/statistic.html b/main/templates/statistic.html
deleted file mode 100644
index 174182c..0000000
--- a/main/templates/statistic.html
+++ /dev/null
@@ -1,207 +0,0 @@
-
-
-
-
-
-
-
- Statistic
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Пользователи/Даты |
- 05/01/2021-01/02/2021 |
- 01/02/2021-28/02/2021 |
- 01/03/2021-05/03/2021 |
-
-
-
-
-
- keanu@gmail.com |
- 15 |
- 21 |
- 1 |
-
-
- vadim@mail.ru |
- 2 |
- 15 |
- 3 |
-
-
- example@ngenix.ru |
- 0 |
- 19 |
- 4 |
-
-
-
-
-
-
-
-
-
-
-
diff --git a/main/views.py b/main/views.py
index cae5d90..1e35105 100644
--- a/main/views.py
+++ b/main/views.py
@@ -244,8 +244,6 @@ class UsersViewSet(viewsets.ReadOnlyModelViewSet):
@login_required()
def statistic_page(request):
- if not request.user.is_superuser:
- return redirect('index')
context = {
'pagename': 'страница статистики',
'errors': list(),
@@ -267,4 +265,6 @@ def statistic_page(request):
if request.method == 'GET':
form = StatisticForm()
context['form'] = form
- return render(request, 'pages/stat.html', context)
+ a = form['interval']
+ print(form['interval'].auto_id,form['interval'].id_for_label)
+ return render(request, 'pages/statistic.html', context)