Состав модуля

Основные действия модуля

class m3_audit.actions.AuditRowFieldsDataAction

Действие на получение записи аудита

run(request, context)

Возвращает список объектов, готовых к сериализации в JSON формат и отправке в HttpResponse.

Параметры:
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
class m3_audit.actions.AuditRowsDataAction

Действие на получение списка записей выбранного аудита

run(request, context)

Возвращает данные в формате, пригодном для отображения в гриде

Параметры:
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
class m3_audit.actions.BaseAuditListWindowAction(*args, **kwargs)

Действие, получение окна показа списка записей

run(request, context)

Возвращает окно m3.ui.actions.results.ExtUIScriptResult списка записей

Параметры:
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – параметры запроса
class m3_audit.actions.BaseAuditUIActions

Базовый пакет действий, который позволяет просмотреть записи аудитов

apply_column_filter(pre_query, request, context)

Возвращает отфильтрованный запрос django.db.models.query.QuerySet

Параметры:
  • pre_query (django.db.models.query.QuerySet) – запрос
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
configure_window(window, request, context)

Возвращает сконфигурированное окно m3.ui.ext.windows.ExtWindow выделено для возможности переопределения

Параметры:
  • window (m3.ui.ext.windows.ExtWindow) – окно, в котором отображаются результаты аудита
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
get_acd()

Возвращает список правил m3_audit.actions.BaseAuditUIActions.acd, прописанных при настройке дочернего класса

get_east_panel(window, request, context)

Возвращает панель m3_audit.ui.DefaultEastPanel с опциональными элементами формы, построенными по модели (list_fields)

Параметры:
  • window (m3.ui.ext.windows.ExtWindow) – окно, с опциональными элементами формы
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
get_list_url()

Возвращает полный URL до действия m3_audit.actions.BaseAuditListWindowAction ( окно списка записей аудита)

get_list_window(window, request, context)

Возвращает окно m3.ui.ext.windows.ExtWindow, в котором отображаются результаты аудита

Параметры:
  • window (m3.ui.ext.windows.ExtWindow) – окно, в котором отображаются результаты аудита
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
get_row_fields_url()

Возвращает полный URL до действия m3_audit.actions.AuditRowFieldsDataAction ( запись аудита) :rtype: str

get_rows(pre_query, request, context)

Возвращает запрос django.db.models.query.QuerySet

Параметры:
  • pre_query (django.db.models.query.QuerySet) – запрос
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса
get_rows_url()

Возвращает полный URL до действия m3_audit.actions.AuditRowsDataAction ( список записей аудита)

get_top_panel(window, request, context)

Возвращает панель m3_audit.ui.DefaultTopPanel с опциональными списком для выбора аудита (list_audit)

Параметры:
  • window (m3.ui.ext.windows.ExtWindow) – окно, с опциональными списком для выбора аудита (list_audit)
  • request – параметры запроса
  • context (m3.ui.actions.context.ActionContext) – контекст запроса

Исключения системы

exception m3_audit.exceptions.DropM3AuditCacheException

Исключение, которое возникает при попытке сброса кеша, хранящего зарегистрированные типы аудита

exception m3_audit.exceptions.M3AuditException

Некоторое исключение подсистемы аудита

exception m3_audit.exceptions.NoWriteMethonInM3AuditException

Выбрасывается в случае, если при регистрации аудита у класса модели не найден

Менеджер удита

class m3_audit.manager.AuditManager

Менеджер, который проводит аудит приложений системы. Основной объект модуля аудит, передав необходимые параметры в метод write() сохранится аудит по приложению

пример:

>>> AuditManager().write()
get(audit_name, default=None)

Возвращает данные аудита

Параметры:
  • audit_name (str) – название аудита
  • default (str) – значение, если аудит не найден в кеше
list()

Возвращает список зарегистрированных аудитов

register(audit_name, audit_model)

Регистрирует тип аудита

Параметры:
  • audit_name (str) – название аудита
  • audit_model (django.db.models.model) – модель аудита

пример:

>>> AuditManager().register('model-changes', DefaultModelChangeAuditModel)
write(*args, **kwargs)

Основной метод модуля аудит. Выполняет операцию записи об аудите в базу данных

Параметры:
  • audit_name (str) – название аудита
  • user – пользователь системы

пример:

>>> AuditManager().write('dict-changes', user=request.user, model_object=obj, type='delete')

Основные модели аудита

class m3_audit.models.AuthAuditModel(*args, **kwargs)

Модель аудита, регистрирует входы/выходы пользователя из системы

classmethod write(user, type='login', *args, **kwargs)

Сохранение аудита

Параметры:
  • user (django.contrib.auth.models.User) – пользоватьель
  • type – тип действия (авторизация, выход)
class m3_audit.models.BaseAuditModel(*args, **kwargs)

Базовая модель, от которой наследуются все модели хранения результатов аудита

by_user(user)

Заполняет значения полей моделей на основе переданного пользователя

Параметры:user (django.db.models.Models) – пользователь
class m3_audit.models.BaseModelChangeAuditModel(*args, **kwargs)

Аудит, предназначенный для отслеживания изменений в моделях системы

classmethod write(user, model_object, type, *args, **kwargs)

Сохранение аудита

Параметры:
  • user (django.contrib.auth.models.User) – пользоватьель
  • model_object (django.db.models.Models) – модель системы
  • type – тип действия (добавление, удаление, редактирование)
class m3_audit.models.DefaultModelChangeAuditModel(*args, **kwargs)

Модель аудита, регистрирует изменения таблиц системы

class m3_audit.models.DictChangesAuditModel(*args, **kwargs)

Модель аудита, регистрирует изменения в справочниках

class m3_audit.models.RolesAuditModel(*args, **kwargs)

Модель аудита, регистрирует изменения ролей пользователей

classmethod parse_permission(perm)

Возвращает разрешение

Параметры:perm – разрешение
classmethod write(user, role, permission_or_code=None, type=0, *args, **kwargs)

Сохранение аудита

Параметры:
  • user (django.contrib.auth.models.User) – пользоватьель
  • role – роль
  • permission_or_code – разрешения
  • type – действие (добавление, лишение, активация, отключение)

Окна информации аудитов

class m3_audit.ui.AuditListWindow(*args, **kwargs)

Окно со списком записей аудита

create_columns(columns, model=None)

Добавляет в грид колокни

Параметры:
  • columns (list, tuple) – добавляемые колонки
  • model (django.db.models.Models) – модель аудита
class m3_audit.ui.DefaultEastPanel(*args, **kwargs)

Панель с полями конкретной записи

create_fields(model)

Добавляет поля из модели, для просмотра записи на основе полей в модели

Параметры:model (django.db.models.Models) – модель аудита
class m3_audit.ui.DefaultTopPanel(*args, **kwargs)

Панель с выбором нужного аудита

create_audits_combo(list_audits, current_audit='')

Создает комбо со списком аудитов для перехода между ними

Параметры:
  • list_audits (list) – список аудитов
  • current_audit (str) – теукщий аудит

Вспомогательные методы модуля

m3_audit.helpers.ext_fields_for_model(model, exclusion=[])

Возвращает список, содержащий поля модели в виде ExtFields.

Параметры:
  • model (django.db.models.model) – модель приложения
  • exclusion (list) – указанные филды исключатся из результата
m3_audit.helpers.fields_for_model(model, fields=None, exclude=None, widgets=None, formfield_callback=None)

Возвращает словарь, содержащий поля модели. В отличии от django.forms.models.fields_for_model() вытаскивает также non editable поля

Параметры:
  • model (django.db.models.model) – модель приложения
  • fields (list) – указанные филды добавятся в результат
  • exclude – указанные филды исключатся из результата
m3_audit.utils.js_audit_list_window(audit_pack, parent_window)

Возвращает js код, который может быть использован для показа окна с результатами аудита

Параметры: