diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2023-02-06 15:29:55 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2023-02-06 15:29:55 +0700 |
| commit | 7cfed1e19f2e340d966ed2068176d21a0e8e9834 (patch) | |
| tree | ec9077cb4f89d23378ef09f9da0adb7135548081 /auditlog/views | |
| parent | 4b3b2d8b1a9a7a72fbe3d623e93dea3802ef0e56 (diff) | |
add audit log
Diffstat (limited to 'auditlog/views')
| -rw-r--r-- | auditlog/views/auditlog_view.xml | 363 | ||||
| -rw-r--r-- | auditlog/views/http_request_view.xml | 91 | ||||
| -rw-r--r-- | auditlog/views/http_session_view.xml | 69 |
3 files changed, 523 insertions, 0 deletions
diff --git a/auditlog/views/auditlog_view.xml b/auditlog/views/auditlog_view.xml new file mode 100644 index 0000000..e17f9ab --- /dev/null +++ b/auditlog/views/auditlog_view.xml @@ -0,0 +1,363 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <menuitem + id="menu_audit" + name="Audit" + parent="base.menu_custom" + sequence="50" + groups="base.group_system" + /> + <!-- auditlog.rule --> + <record model="ir.ui.view" id="view_auditlog_rule_form"> + <field name="name">auditlog.rule.form</field> + <field name="model">auditlog.rule</field> + <field name="arch" type="xml"> + <form string="Rule"> + <header> + <button + string="Subscribe" + name="subscribe" + type="object" + states="draft" + class="oe_highlight" + /> + <button + string="Unsubscribe" + name="unsubscribe" + type="object" + states="subscribed" + /> + <field name="state" widget="statusbar" /> + </header> + <sheet> + <group string="Rule"> + <group colspan="1"> + <field name="name" required="1" /> + <field name="model_id" /> + <field name="log_type" /> + <field + name="action_id" + readonly="1" + groups="base.group_no_one" + /> + <field + name="capture_record" + attrs="{'invisible':['|' ,('log_type','!=', 'full'), ('log_unlink','!=', True)]}" + /> + <field + name="users_to_exclude_ids" + widget="many2many_tags" + /> + <field + name="fields_to_exclude_ids" + widget="many2many_tags" + /> + </group> + <group colspan="1"> + <field name="log_read" /> + <field name="log_write" /> + <field name="log_unlink" /> + <field name="log_create" /> + </group> + </group> + </sheet> + </form> + </field> + </record> + <record model="ir.ui.view" id="view_auditlog_rule_tree"> + <field name="name">auditlog.rule.tree</field> + <field name="model">auditlog.rule</field> + <field name="arch" type="xml"> + <tree + decoration-info="state == 'draft'" + decoration-bf="state == 'subscribed'" + > + <field name="name" /> + <field name="model_id" /> + <field name="log_type" /> + <field name="log_read" /> + <field name="log_write" /> + <field name="log_unlink" /> + <field name="log_create" /> + <field name="state" /> + </tree> + </field> + </record> + <record id="view_auditlog_rule_search" model="ir.ui.view"> + <field name="name">auditlog.rule.search</field> + <field name="model">auditlog.rule</field> + <field name="arch" type="xml"> + <search string="Rules"> + <field name="name" /> + <filter + name="state_draft" + domain="[('state','=','draft')]" + string="Draft" + /> + <filter + name="state_subscribed" + domain="[('state','=','subscribed')]" + string="Subscribed" + /> + <field name="model_id" /> + <group expand="0" string="Group By..."> + <filter + name="group_by_state" + string="State" + domain="[]" + context="{'group_by':'state'}" + /> + </group> + </search> + </field> + </record> + <record model="ir.actions.act_window" id="action_auditlog_rule_tree"> + <field name="name">Rules</field> + <field name="res_model">auditlog.rule</field> + <field name="type">ir.actions.act_window</field> + <field name="view_mode">tree,form</field> + <field name="context">{}</field> + <field name="search_view_id" ref="view_auditlog_rule_search" /> + </record> + <menuitem + id="menu_action_auditlog_rule_tree" + parent="menu_audit" + action="action_auditlog_rule_tree" + /> + <!-- auditlog.log --> + <record model="ir.ui.view" id="view_auditlog_log_form"> + <field name="name">auditlog.log.form</field> + <field name="model">auditlog.log</field> + <field name="arch" type="xml"> + <form string="Log"> + <sheet> + <group string="Log"> + <group colspan="1"> + <field name="create_date" readonly="1" /> + <field name="user_id" readonly="1" /> + <field name="method" readonly="1" /> + <field name="log_type" readonly="1" /> + </group> + <group colspan="1"> + <field name="model_id" readonly="1" /> + <field + name="model_name" + attrs="{'invisible': [('model_id', '!=', False)]}" + readonly="1" + /> + <field + name="model_model" + attrs="{'invisible': [('model_id', '!=', False)]}" + readonly="1" + /> + <field name="res_id" readonly="1" /> + <field name="name" readonly="1" /> + </group> + </group> + <group string="HTTP Context"> + <field name="http_session_id" /> + <field name="http_request_id" /> + </group> + <group string="Fields updated"> + <field name="line_ids" readonly="1" nolabel="1"> + <form string="Log - Field updated"> + <group> + <field name="field_id" readonly="1" /> + <field + name="field_name" + attrs="{'invisible': [('field_id', '!=', False)]}" + readonly="1" + /> + </group> + <group string="Values" col="4"> + <field name="old_value" readonly="1" /> + <field name="new_value" readonly="1" /> + <field name="old_value_text" readonly="1" /> + <field name="new_value_text" readonly="1" /> + </group> + </form> + <tree> + <field name="field_description" /> + <field name="field_name" /> + <!--<field name="old_value"/>--> + <field name="old_value_text" /> + <!--<field name="new_value"/>--> + <field name="new_value_text" /> + </tree> + </field> + </group> + </sheet> + </form> + </field> + </record> + <record model="ir.ui.view" id="view_auditlog_log_tree"> + <field name="name">auditlog.log.tree</field> + <field name="model">auditlog.log</field> + <field name="arch" type="xml"> + <tree create="false"> + <field name="create_date" /> + <field name="name" /> + <field name="model_id" /> + <field name="res_id" /> + <field name="method" /> + <field name="user_id" /> + </tree> + </field> + </record> + <record id="view_auditlog_log_search" model="ir.ui.view"> + <field name="name">auditlog.log.search</field> + <field name="model">auditlog.log</field> + <field name="arch" type="xml"> + <search string="Logs"> + <field name="name" /> + <field name="model_id" /> + <field name="res_id" /> + <field name="user_id" /> + <group expand="0" string="Group By..."> + <filter + name="group_by_user_id" + string="User" + domain="[]" + context="{'group_by':'user_id'}" + /> + <filter + name="group_by_model_id" + string="Model" + domain="[]" + context="{'group_by':'model_id'}" + /> + <filter + name="group_by_res_id" + string="Resource ID" + domain="[]" + context="{'group_by':'res_id'}" + /> + <filter + name="group_by_create_date" + string="Date" + domain="[]" + context="{'group_by':'create_date'}" + /> + <filter + name="group_by_http_session" + string="User session" + domain="[]" + context="{'group_by':'http_session_id'}" + /> + <filter + name="group_by_http_request" + string="HTTP Request" + domain="[]" + context="{'group_by':'http_request_id'}" + /> + </group> + </search> + </field> + </record> + <record model="ir.actions.act_window" id="action_auditlog_log_tree"> + <field name="name">Logs</field> + <field name="res_model">auditlog.log</field> + <field name="search_view_id" ref="view_auditlog_log_search" /> + </record> + <menuitem + id="menu_audit_logs" + name="Logs" + parent="menu_audit" + action="action_auditlog_log_tree" + /> + <!-- auditlog.log.line --> + <record model="ir.ui.view" id="view_auditlog_line_tree"> + <field name="name">view.auditlog.line.tree</field> + <field name="model">auditlog.log.line.view</field> + <field name="arch" type="xml"> + <tree string="Log Lines" create="0"> + <field name="create_date" optional="show" /> + <field name="user_id" optional="show" /> + <field name="http_session_id" optional="hide" /> + <field name="http_request_id" optional="hide" /> + <field name="name" optional="show" /> + <field name="model_id" optional="hide" /> + <field name="model_model" optional="hide" /> + <field name="model_name" optional="hide" /> + <field name="field_id" optional="hide" /> + <field name="field_name" optional="hide" /> + <field name="field_description" optional="show" /> + <field name="old_value" optional="hide" /> + <field name="new_value" optional="hide" /> + <field name="old_value_text" optional="show" /> + <field name="new_value_text" optional="show" /> + <field name="log_type" optional="hide" /> + </tree> + </field> + </record> + <record id="view_auditlog_line_search" model="ir.ui.view"> + <field name="name">auditlog.line.search</field> + <field name="model">auditlog.log.line.view</field> + <field name="arch" type="xml"> + <search string="Log Lines"> + <field name="name" /> + <field name="model_id" /> + <field name="res_id" /> + <field name="user_id" /> + <group expand="0" string="Group By..."> + <filter + name="group_by_user_id" + string="User" + domain="[]" + context="{'group_by':'user_id'}" + /> + <filter + name="group_by_model_id" + string="Model" + domain="[]" + context="{'group_by':'model_id'}" + /> + <filter + name="group_by_field_id" + string="Field" + domain="[]" + context="{'group_by':'field_id'}" + /> + <filter + name="group_by_res_id" + string="Resource ID" + domain="[]" + context="{'group_by':'res_id'}" + /> + <filter + name="group_by_create_date" + string="Date" + domain="[]" + context="{'group_by':'create_date'}" + /> + <filter + name="group_by_http_session" + string="User session" + domain="[]" + context="{'group_by':'http_session_id'}" + /> + <filter + name="group_by_http_request" + string="HTTP Request" + domain="[]" + context="{'group_by':'http_request_id'}" + /> + </group> + </search> + </field> + </record> + <record id="action_auditlog_line" model="ir.actions.act_window"> + <field name="name">Log Lines</field> + <field name="res_model">auditlog.log.line.view</field> + <field name="view_mode">tree</field> + <field name="search_view_id" ref="view_auditlog_line_search" /> + <field name="context">{'search_default_group_by_model_id': 1}</field> + </record> + <menuitem + id="menu_auditlog_line" + name="Log Lines" + parent="menu_audit" + action="action_auditlog_line" + sequence="20" + /> +</odoo> diff --git a/auditlog/views/http_request_view.xml b/auditlog/views/http_request_view.xml new file mode 100644 index 0000000..50e8f32 --- /dev/null +++ b/auditlog/views/http_request_view.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <record id="view_auditlog_http_request_form" model="ir.ui.view"> + <field name="name">auditlog.http.request.form</field> + <field name="model">auditlog.http.request</field> + <field name="arch" type="xml"> + <form string="HTTP Request"> + <sheet> + <group string="HTTP Request"> + <field name="root_url" /> + <field name="name" /> + <field name="create_date" /> + <field name="user_context" /> + <field name="http_session_id" /> + </group> + <group string="Logs"> + <field name="log_ids" nolabel="1" /> + </group> + </sheet> + </form> + </field> + </record> + <record id="view_auditlog_http_request_tree" model="ir.ui.view"> + <field name="name">auditlog.http.request.tree</field> + <field name="model">auditlog.http.request</field> + <field name="arch" type="xml"> + <tree> + <field name="name" /> + <field name="create_date" /> + <field name="http_session_id" /> + </tree> + </field> + </record> + <record id="view_auditlog_http_request_search" model="ir.ui.view"> + <field name="name">auditlog.http.request.search</field> + <field name="model">auditlog.http.request</field> + <field name="arch" type="xml"> + <search string="HTTP Requests"> + <field name="create_date" /> + <field name="root_url" /> + <field name="name" /> + <field name="user_id" /> + <field name="http_session_id" /> + <group expand="0" string="Group By..."> + <filter + name="group_by_root_url" + string="Root URL" + domain="[]" + context="{'group_by':'root_url'}" + /> + <filter + name="group_by_name" + string="Path" + domain="[]" + context="{'group_by':'name'}" + /> + <filter + name="group_by_create_date" + string="Created on" + domain="[]" + context="{'group_by':'create_date'}" + /> + <filter + name="group_by_user_id" + string="User" + domain="[]" + context="{'group_by':'user_id'}" + /> + <filter + name="group_by_http_session_id" + string="User session" + domain="[]" + context="{'group_by':'http_session_id'}" + /> + </group> + </search> + </field> + </record> + <record model="ir.actions.act_window" id="action_auditlog_http_request_tree"> + <field name="name">HTTP Requests</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">auditlog.http.request</field> + <field name="view_id" ref="view_auditlog_http_request_tree" /> + </record> + <menuitem + id="menu_action_auditlog_http_request_tree" + parent="menu_audit" + action="action_auditlog_http_request_tree" + sequence="40" + /> +</odoo> diff --git a/auditlog/views/http_session_view.xml b/auditlog/views/http_session_view.xml new file mode 100644 index 0000000..6ea6394 --- /dev/null +++ b/auditlog/views/http_session_view.xml @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <record id="view_auditlog_http_session_form" model="ir.ui.view"> + <field name="name">auditlog.http.session.form</field> + <field name="model">auditlog.http.session</field> + <field name="arch" type="xml"> + <form string="User session"> + <sheet> + <group string="User session"> + <field name="user_id" /> + <field name="create_date" /> + <field name="name" /> + </group> + <group string="HTTP Requests"> + <field name="http_request_ids" nolabel="1" /> + </group> + </sheet> + </form> + </field> + </record> + <record id="view_auditlog_http_session_tree" model="ir.ui.view"> + <field name="name">auditlog.http.session.tree</field> + <field name="model">auditlog.http.session</field> + <field name="arch" type="xml"> + <tree> + <field name="user_id" /> + <field name="create_date" /> + <field name="name" /> + </tree> + </field> + </record> + <record id="view_auditlog_http_session_search" model="ir.ui.view"> + <field name="name">auditlog.http.session.search</field> + <field name="model">auditlog.http.session</field> + <field name="arch" type="xml"> + <search string="User sessions"> + <field name="user_id" /> + <field name="name" /> + <field name="create_date" /> + <group expand="0" string="Group By..."> + <filter + name="group_by_user_id" + string="User" + domain="[]" + context="{'group_by':'user_id'}" + /> + <filter + name="group_by_create_date" + string="Created on" + domain="[]" + context="{'group_by':'create_date'}" + /> + </group> + </search> + </field> + </record> + <record model="ir.actions.act_window" id="action_auditlog_http_session_tree"> + <field name="name">User sessions</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">auditlog.http.session</field> + <field name="view_id" ref="view_auditlog_http_session_tree" /> + </record> + <menuitem + id="menu_action_auditlog_http_session_tree" + parent="menu_audit" + action="action_auditlog_http_session_tree" + sequence="30" + /> +</odoo> |
