knowledge/document_page/views/document_page.xml
Florent THOMAS 8db04e2e12 IMP: Add single menu for content browsing
* Categories and content are now available and browsable in a single menu.
* Navigation helps user to find content easily
* Cleanups for pylint and flake
2022-02-10 23:45:53 +01:00

169 lines
7.5 KiB
XML

<?xml version="1.0" ?>
<odoo>
<!-- wiki tree view -->
<record id="view_wiki_tree_children" model="ir.ui.view">
<field name="name">document.page.tree</field>
<field name="model">document.page</field>
<field name="field_parent">child_ids</field>
<field name="priority">100</field>
<field name="arch" type="xml">
<tree string="Document Page">
<field name="name" />
<field name="content_uid" />
<field name="content_date" />
</tree>
</field>
</record>
<!-- wiki list view -->
<record id="view_wiki_tree" model="ir.ui.view">
<field name="name">document.page.list</field>
<field name="model">document.page</field>
<field name="arch" type="xml">
<tree string="Document Page">
<field name="name" />
<field name="parent_id" />
<field name="company_id" groups="base.group_multi_company" />
<field name="create_uid" invisible="1" />
<field name="content_uid" />
<field name="content_date" />
</tree>
</field>
</record>
<!-- wiki Form view -->
<record id="view_wiki_form" model="ir.ui.view">
<field name="name">document.page.form</field>
<field name="model">document.page</field>
<field name="arch" type="xml">
<form string="Document Page">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" groups="document_page.group_document_manager" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options="{'terminology': 'archive'}" />
</button>
</div>
<field name="type" invisible="1" />
<h1>
<field name="name" placeholder="Name" />
</h1>
<group>
<div>
<field name="content" widget="html" placeholder="e.g. Once upon a time..." required="1" options="{'safe': True}" />
</div>
</group>
<notebook>
<page name="info" string="Information">
<group>
<group>
<field name="parent_id" string="Category" required="True" context="{'default_type':'category'}" />
<field name="company_id" groups="base.group_multi_company" />
<field name="content_uid" />
<field name="content_date" />
<field name="menu_id" readonly="1" attrs="{'invisible': [('menu_id','=',False)]}" />
</group>
<group string="Revision" class="oe_edit_only">
<field name="draft_name" placeholder="Rev 01" required="True" class="oe_edit_only" />
<field name="draft_summary" placeholder="eg: Changed ... for ..." required="True" class="oe_edit_only" />
</group>
</group>
</page>
<page name="history" string="History">
<field name="history_ids">
<tree>
<field name="id" />
<field name="create_date" />
<field name="name" />
<field name="summary" />
<field name="create_uid" />
</tree>
</field>
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" />
<field name="activity_ids" widget="mail_activity" />
<field name="message_ids" widget="mail_thread" />
</div>
</form>
</field>
</record>
<record id="view_wiki_menu_form" model="ir.ui.view">
<field name="name">document.page.menu.form</field>
<field name="model">document.page</field>
<field name="arch" type="xml">
<form string="Document Page" create="0">
<field name="type" invisible="1" />
<h1>
<field name="name" placeholder="Name" />
</h1>
<field name="content" widget="html" class="oe_view_only" required="1" options='{"safe": True}' />
</form>
</field>
</record>
<!-- page Search view -->
<record id="view_wiki_filter" model="ir.ui.view">
<field name="name">document.page.search</field>
<field name="model">document.page</field>
<field name="arch" type="xml">
<search string="Document Page">
<field name="name" string="Content" filter_domain="['|', ('name','ilike',self), ('content','ilike',self)]" />
<field name="parent_id" />
<field name="create_uid" />
<field name="content_uid" />
<group expand="0" string="Group By...">
<filter name="group_by_category" string="Category" context="{'group_by':'parent_id'}" />
<filter name="group_by_author" string="Author" context="{'group_by':'create_uid'}" />
<filter name="group_by_last_contributor" string="Last Contributor" context="{'group_by':'content_uid'}" />
</group>
</search>
</field>
</record>
<!-- page action -->
<record id="action_page" model="ir.actions.act_window">
<field name="name">Pages</field>
<field name="res_model">document.page</field>
<field name="domain">[('type','=','content')]</field>
<field name="context">{'default_type': 'content'}</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_wiki_tree" />
<field name="search_view_id" ref="view_wiki_filter" />
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new web page.
</p>
</field>
</record>
<record id="action_page_view_tree" model="ir.actions.act_window.view">
<field name="sequence" eval="0" />
<field name="view_mode">tree</field>
<field name="view_id" ref="view_wiki_tree" />
<field name="act_window_id" ref="action_page" />
</record>
<record id="action_page_view_form" model="ir.actions.act_window.view">
<field name="sequence" eval="5" />
<field name="view_mode">form</field>
<field name="view_id" ref="view_wiki_form" />
<field name="act_window_id" ref="action_page" />
</record>
<menuitem id="menu_wiki" name="Pages" parent="knowledge.menu_document_root" sequence="10" />
<menuitem id="menu_page" name="Pages" parent="menu_wiki" action="action_page" sequence="20" />
<act_window id="action_related_page_create_menu" name="Create Menu" res_model="document.page.create.menu" target="new" view_type="form" view_mode="form" src_model="document.page" />
</odoo>