Состав модуля¶
Основные действия модуля¶
- 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) – модель аудита
Вспомогательные методы модуля¶
- 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 код, который может быть использован для показа окна с результатами аудита
Параметры: - audit_pack (m3_audit.actions.BaseAuditUIActions) – пак аудита
- parent_window (m3.ui.ext.windows.ExtWindow) – родительское окно