From b4507320ae8dd2c46203c30e3821c3e5f3b5b862 Mon Sep 17 00:00:00 2001 From: "Denis V. Dedkov" Date: Sat, 20 Jun 2015 20:22:45 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавил страницу журнала действий --- asuzr/tables.py | 12 ++++++++++++ asuzr/views.py | 8 ++++++++ record/urls.py | 1 + templates/asuzr/base.html | 5 ++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/asuzr/tables.py b/asuzr/tables.py index 34bf073..95c197e 100644 --- a/asuzr/tables.py +++ b/asuzr/tables.py @@ -3,6 +3,7 @@ from django.core.urlresolvers import reverse from django.utils.safestring import mark_safe from django.utils.html import escape +from django.contrib.admin.models import LogEntry import django_tables2 as tables from models import * @@ -200,3 +201,14 @@ class ProdPlanTable(tables.Table): class Meta: attrs = {'class': 'paleblue'} + +class LogTable(tables.Table): + def render_action_flag(self, value): + return {1: 'Добавление', + 2: 'Изменение', + 3: 'Удаление', + 4: 'Авторизация'}[value] + + class Meta: + model = LogEntry + attrs = {'class': 'paleblue'} diff --git a/asuzr/views.py b/asuzr/views.py index 2021c5e..e69e517 100644 --- a/asuzr/views.py +++ b/asuzr/views.py @@ -3,6 +3,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponse, HttpResponseRedirect from django.template import RequestContext, Context, loader +from django.contrib.admin.models import LogEntry from asuzr.models import * from datetime import datetime, date, timedelta import calendar @@ -267,3 +268,10 @@ def prod_plan_view(request): title = u'Производственный план на %s - %s' % (sdate.strftime('%d.%m.%Y'), edate.strftime('%d.%m.%Y')) RequestConfig(request).configure(table) return render(request, 'asuzr/table.html', {'table': table, 'title': title}) + +@login_required +def log_view(request): + log = LogEntry.objects.all() + table = LogTable(log) + RequestConfig(request).configure(table) + return render(request, 'asuzr/table.html', {'table': table, 'title': 'Журнал операций'}) diff --git a/record/urls.py b/record/urls.py index 390c34f..f574d7a 100644 --- a/record/urls.py +++ b/record/urls.py @@ -23,6 +23,7 @@ urlpatterns = patterns('', url(r'^sketches/delete/$', 'asuzr.views.delete_sketch'), url(r'^prodplan/$', 'asuzr.views.prod_plan_view'), url(r'^admin/', include(admin.site.urls)), + url(r'^log/$', 'asuzr.views.log_view'), url(r'^inplaceeditform/', include('inplaceeditform.urls')), url(r'^accounts/login/$', login), url(r'^accounts/logout/$', logout), diff --git a/templates/asuzr/base.html b/templates/asuzr/base.html index 188f494..3e53559 100644 --- a/templates/asuzr/base.html +++ b/templates/asuzr/base.html @@ -48,7 +48,10 @@
  • Архивная таблица
  • Отчет по дизайнерам
  • Производственный план
  • - {% if request.user.is_staff %}
  • Администрирование
  • {% endif %} + {% if request.user.is_staff %} +
  • Журнал операций
  • +
  • Администрирование
  • + {% endif %}
    {% if request.user.is_authenticated %}