665 lines
37 KiB
XML
665 lines
37 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record id="knowledge_article_action_trashed" model="ir.actions.act_window">
|
|
<field name="name">Trash</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">list,form,kanban</field>
|
|
<field name="domain">[('is_template', '=', False)]</field>
|
|
<field name="context">{'search_default_filter_trashed':1}</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_form" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.form</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<form js_class="knowledge_article_view_form" disable_autofocus="1">
|
|
<field name="active" invisible="1"/>
|
|
<field name="article_properties" invisible="1"/>
|
|
<field name="category" invisible="1"/>
|
|
<field name="is_article_item" invisible="1"/>
|
|
<field name="is_locked" invisible="1" readonly="1"/>
|
|
<field name="is_user_favorite" invisible="1"/>
|
|
<field name="user_can_write" invisible="1"/>
|
|
<field name="internal_permission" invisible="1"/>
|
|
<field name="name" invisible="1"/>
|
|
<field name="parent_id" invisible="1"/>
|
|
<field name="user_permission" invisible="1"/>
|
|
<field name="to_delete" invisible="1"/>
|
|
<field name="cover_image_id" invisible="1"/>
|
|
<field name="has_article_children" invisible="1"/>
|
|
<field name="has_item_parent" invisible="1"/>
|
|
<field name="full_width" invisible="1"/>
|
|
<field name="last_edition_uid" invisible="1"/>
|
|
<field name="last_edition_date" invisible="1"/>
|
|
<field name="create_date" invisible="1"/>
|
|
<field name="create_uid" invisible="1"/>
|
|
<field name="is_article_visible_by_everyone" invisible="1"/>
|
|
<field name="is_article_visible" invisible="1"/>
|
|
<!-- Article header -->
|
|
<widget name="knowledge_topbar"/>
|
|
<!-- Invisible Article Warning Banner-->
|
|
<div class="alert alert-info text-center mb-0" role="alert" groups="base.group_user"
|
|
invisible="not id or internal_permission == 'none' or is_article_visible_by_everyone or is_article_visible">
|
|
<field name="user_has_access_parent_path" invisible="1"/>
|
|
This article is only displayed to its members.
|
|
<a invisible="not user_has_access_parent_path" role="button" type="object" name="action_join" class="text-decoration-underline oe_link alert-link">
|
|
Join
|
|
</a>
|
|
</div>
|
|
<!-- Archived Article Warning Banner-->
|
|
<div class="alert alert-warning text-center mb-0" role="alert"
|
|
invisible="active or to_delete">
|
|
This article is archived.
|
|
<a role="button" class="text-decoration-underline oe_link alert-link" type="object" name="action_unarchive"
|
|
invisible="not user_can_write" >Unarchive</a>
|
|
</div>
|
|
<!-- Trashed Article Warning Banner-->
|
|
<div class="alert alert-warning text-center mb-0" role="alert" invisible="not to_delete">
|
|
This Article is in Trash and will be deleted on the <field class="mb-0" name="deletion_date"/>.
|
|
<a role="button" type="object" name="action_unarchive"
|
|
class="text-decoration-underline oe_link alert-link"
|
|
invisible="not user_can_write" >
|
|
Restore
|
|
</a>
|
|
</div>
|
|
<div class="flex-grow-1 position-relative">
|
|
<div class="o_scroll_view o_knowledge_main_view">
|
|
<div class="row p-0 m-0" style="height: 100%">
|
|
<div class="d-flex col-12 col-lg position-relative p-0">
|
|
<div class="o_scroll_view_lg">
|
|
<!-- Article body -->
|
|
<div class="o_knowledge_body d-flex flex-column"
|
|
invisible="not id">
|
|
<!-- Full Width handling -->
|
|
<span class="o_knowledge_article_view_form_dynamic_width d-none"
|
|
invisible="full_width"/>
|
|
<!-- Article Cover -->
|
|
<field name="cover_image_url" invisible="1" />
|
|
<field name="cover_image_position" invisible="1" />
|
|
<widget name="knowledge_cover" invisible="not cover_image_id"/>
|
|
<!-- Article Icon -->
|
|
<field name="icon" widget="knowledge_icon" invisible="not icon" readonly="is_locked or not user_can_write or not active" class="o_knowledge_icon o_large"/>
|
|
<!-- Article body -->
|
|
<div class="o_knowledge_editor mt-3">
|
|
<field name="body" widget="knowledge_html" class="o_field_html" no_label="1" groups="base.group_user"
|
|
options="{'collaborative': true, 'resizable': False, 'embedded_components': true}"
|
|
readonly="is_locked or not user_can_write or not active"/>
|
|
<!-- Portal users get some commands disabled, notably /image and /file, as they don't have access to ir.attachment -->
|
|
<field name="body" widget="knowledge_html" class="o_field_html" no_label="1" groups="base.group_portal"
|
|
options="{'collaborative': true, 'resizable': False, 'embedded_components': true, 'disableImage': true, 'disableVideo': true, 'disableFile': true}"
|
|
readonly="is_locked or not user_can_write or not active"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- No Content Helper -->
|
|
<div class="o_view_nocontent" invisible="id">
|
|
<div class="o_nocontent_help">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No article yet.
|
|
</p>
|
|
<p>
|
|
<a role="button" class="o_nocontent_create_btn">
|
|
Create an article
|
|
</a>
|
|
to unleash the power of Knowledge !
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Properties -->
|
|
<widget name="knowledge_properties_panel"/>
|
|
<!-- Chatter -->
|
|
<widget name="knowledge_chatter_panel" groups="base.group_user"/>
|
|
<!-- Comments Panel -->
|
|
<widget name="knowledge_comments_panel"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<field name="icon" invisible="1" readonly="is_locked or not user_can_write"/>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_hierarchy" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.hierarchy</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<hierarchy child_field="child_ids" js_class="knowledge_hierarchy" draggable="1" create="0"
|
|
default_order="category, sequence, id">
|
|
<field name="category"/>
|
|
<field name="display_name"/>
|
|
<field name="id"/>
|
|
<field name="is_user_favorite"/>
|
|
<field name="parent_id"/>
|
|
<field name="sequence"/>
|
|
<templates>
|
|
<t t-name="hierarchy-box">
|
|
<div class="o_hierarchy_node_header d-flex justify-content-center pb-4 o_hierarchy_node_color_0 position-relative">
|
|
<div class="o_knowledge_hierarchy_icon">
|
|
<field name="icon"/>
|
|
</div>
|
|
<button name="action_toggle_favorite" type="object"
|
|
icon="fa-star mt-1 me-1" class="o_knowledge_toggle_favorite position-absolute top-0 end-0 p-0 h-100"
|
|
title="Remove from favorites" invisible="not is_user_favorite"/>
|
|
<button name="action_toggle_favorite" type="object"
|
|
icon="fa-star-o mt-1 me-1" class="o_knowledge_toggle_favorite position-absolute top-0 end-0 p-0 h-100"
|
|
title="Add to favorites" invisible="is_user_favorite"/>
|
|
</div>
|
|
<div class="o_hierarchy_node_body d-flex flex-column text-center h-auto px-2">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-grow-1 text-truncate fw-bold">
|
|
<field name="name"/>
|
|
<div invisible="name">Untitled</div>
|
|
</div>
|
|
</div>
|
|
<div class="d-flex align-items-center" t-if="isRoot">
|
|
<div class="flex-grow-1 text-truncate">
|
|
<i t-att-title="record.category.value" class="fa me-1"
|
|
t-att-class="{
|
|
'fa-building': record.category.raw_value === 'workspace',
|
|
'fa-users': record.category.raw_value === 'shared',
|
|
'fa-user': record.category.raw_value === 'private'
|
|
}"/>
|
|
<field name="category"/>
|
|
</div>
|
|
</div>
|
|
<field name="article_properties" widget="properties"/>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</hierarchy>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_tree" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.list</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<list default_order="is_user_favorite desc, favorite_count desc"
|
|
js_class="knowledge_article_view_tree">
|
|
<header>
|
|
<button string="Send to Trash" icon="fa-trash" type="object" name="action_send_to_trash" class="btn"/>
|
|
</header>
|
|
<field name="display_name" string="Name"/>
|
|
<field name="is_user_favorite" column_invisible="True"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="not is_user_favorite"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star-o pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="is_user_favorite"/>
|
|
<field name="parent_id"/>
|
|
<field name="create_uid" string="Created by" widget="many2one_avatar_user" optional="show"/>
|
|
<field name="create_date" string="Created on" optional="show"/>
|
|
<field name="category" optional="hide"/>
|
|
<field name="favorite_count" column_invisible="True"/>
|
|
<field name="root_article_id" optional="hide"/>
|
|
<field name="last_edition_uid" widget="many2one_avatar_user" optional="hide"/>
|
|
<field name="last_edition_date" string="Last Edit Date" optional="hide"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_tree_trash" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.list.trash</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">100</field>
|
|
<field name="arch" type="xml">
|
|
<list create="0" default_order="write_date desc"
|
|
js_class="knowledge_article_view_tree">
|
|
<header>
|
|
<button string="Restore" icon="oi-unarchive" type="object" name="action_unarchive" class="btn"/>
|
|
</header>
|
|
<field name="display_name" string="Name"/>
|
|
<field name="is_user_favorite" column_invisible="True"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="not is_user_favorite"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star-o pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="is_user_favorite"/>
|
|
<field name="category" optional="hide"/>
|
|
<field name="favorite_count" column_invisible="True"/>
|
|
<field name="root_article_id" optional="hide"/>
|
|
<field name="parent_id"/>
|
|
<field name="last_edition_uid" widget="many2one_avatar_user"/>
|
|
<field name="last_edition_date" string="Last Edit Date"/>
|
|
<field name="deletion_date"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_form_item_quick_create" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.form.item.quick_create</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">666</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<field name="icon" widget="knowledge_icon" allow_random_icon_selection="1"/>
|
|
<field name="name" placeholder="My New Item" class="ms-2 mb-3"/>
|
|
<field name="parent_id" invisible="1"/>
|
|
<field name="article_properties"/>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_tree_items" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.list.embedded</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">32</field>
|
|
<field name="arch" type="xml">
|
|
<list create="1" js_class="knowledge_article_view_tree_embedded" default_order="sequence asc, write_date desc, id desc">
|
|
<header>
|
|
<button string="Trash" icon="fa-trash" type="object" name="action_send_to_trash" class="btn"/>
|
|
</header>
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="display_name" string="Name"/>
|
|
<field name="is_user_favorite" column_invisible="True"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="not is_user_favorite"/>
|
|
<button name="action_toggle_favorite" string=" " type="object"
|
|
icon="fa-star-o pe-2" class="o_knowledge_toggle_favorite"
|
|
invisible="is_user_favorite"/>
|
|
<field name="create_uid" string="Created by" widget="many2one_avatar_user" optional="show"/>
|
|
<field name="create_date" string="Created on" optional="show"/>
|
|
<field name="category" optional="hide"/>
|
|
<field name="favorite_count" column_invisible="True"/>
|
|
<field name="root_article_id" optional="hide"/>
|
|
<field name="last_edition_uid" widget="many2one_avatar_user" optional="hide"/>
|
|
<field name="last_edition_date" string="Last Edit Date" optional="hide"/>
|
|
<field name="parent_id" column_invisible="True"/>
|
|
<field name="article_properties"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_kanban" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.kanban</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<kanban create="0" class="o_knowledge_article_kanban_view">
|
|
<field name="is_user_favorite"/>
|
|
<templates>
|
|
<t t-name="card" class="o_knowledge_kanban_card h-100">
|
|
<div class="d-flex align-items-center">
|
|
<field name="display_name" class="flex-grow-1 lead text-truncate"/>
|
|
<!-- When the user does not have 'write' access on an article, the user will not be
|
|
allowed to write on the `knowledge.article` model. Therefore, we can not use the
|
|
`boolean_favorite` widget as the model can block the write call issued by the widget.
|
|
To let the user add an article to their favorites, we will instead call an
|
|
intermediate action that will do a sudo call on the `knowledge.article` model. -->
|
|
<a type="object" name="action_toggle_favorite" class="o_knowledge_toggle_favorite mb-auto mt-1 me-1">
|
|
<i invisible="not is_user_favorite"
|
|
class="fa fa-star" title="Remove from favorites"/>
|
|
<i invisible="is_user_favorite"
|
|
class="fa fa-star-o" title="Add to favorites"/>
|
|
</a>
|
|
</div>
|
|
<field name="parent_id" class="text-muted text-truncate"/>
|
|
<field name="activity_ids" widget="kanban_activity" class="ms-auto mt-auto"/>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_kanban_items" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.kanban.embedded</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">32</field>
|
|
<field name="arch" type="xml">
|
|
<kanban quick_create_view="knowledge.knowledge_article_view_form_item_quick_create"
|
|
js_class="knowledge_article_view_kanban_embedded"
|
|
class="o_knowledge_article_kanban_view"
|
|
default_order="sequence asc, write_date desc, id desc">
|
|
<field name="is_locked"/>
|
|
<field name="is_user_favorite"/>
|
|
<field name="is_template"/>
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="user_has_write_access"/>
|
|
<field name="cover_image_url"/>
|
|
<field name="parent_id"/>
|
|
<templates>
|
|
<t t-name="card" class="flex-row">
|
|
<aside t-if="record.cover_image_url.raw_value.length > 0" class="o_kanban_aside_full me-2">
|
|
<div t-attf-style="background-image: url(#{record.cover_image_url.raw_value}); background-size: cover; background-position: center;" role="img"/>
|
|
</aside>
|
|
<main>
|
|
<div class="d-flex">
|
|
<div class="d-flex">
|
|
<field name="icon" widget="knowledge_icon" class="me-2" readonly="is_locked or not user_has_write_access" invisible="not icon"/>
|
|
<field name="name" invisible="is_template"/>
|
|
<field name="template_name" invisible="not is_template" class="fw-bolder fs-5"/>
|
|
<div invisible="(is_template and template_name) or (not is_template and name)">Untitled</div>
|
|
</div>
|
|
<a type="object" name="action_toggle_favorite" class="o_knowledge_toggle_favorite ms-auto mb-auto pe-1">
|
|
<i invisible="not is_user_favorite"
|
|
class="fa fa-star" title="Remove from favorites"/>
|
|
<i invisible="is_user_favorite"
|
|
class="fa fa-star-o" title="Add to favorites"/>
|
|
</a>
|
|
</div>
|
|
<field name="article_properties" widget="properties"/>
|
|
<footer>
|
|
<field name="activity_ids" widget="kanban_activity" class="ms-auto"/>
|
|
<field name="create_uid" widget="many2one_avatar_user"/>
|
|
</footer>
|
|
</main>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_kanban_items_stages" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.kanban.embedded.stages</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">48</field>
|
|
<field name="mode">primary</field>
|
|
<field name="inherit_id" ref="knowledge.knowledge_article_view_kanban_items"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="default_group_by">stage_id</attribute>
|
|
<attribute name="on_create">quick_create</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- To be used only for embedded article items, do not use it in standard
|
|
actions (see knowledge_article_action_item_calendar) -->
|
|
<record id="knowledge_article_view_calendar_items" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.calendar.embedded</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<!-- date_start has a dummy value because the attribute is required
|
|
but it will not be used: the itemCalendarController will overwrite
|
|
it in onWillStartModel using the property selected by the user -->
|
|
<calendar js_class="knowledge_article_view_calendar_embedded" string="Items" date_start="article_properties">
|
|
<field name="user_can_write" invisible="1"/>
|
|
<field name="parent_id" invisible="1"/>
|
|
<field name="article_properties"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_search" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.search</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">1</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name"/>
|
|
<field name="root_article_id"/>
|
|
<field name="body"/>
|
|
<field name="last_edition_uid"/>
|
|
<field name="article_properties"/>
|
|
|
|
<filter name="filter_not_is_article_item" string="Articles"
|
|
domain="[('is_article_item', '=', False)]"/>
|
|
<filter name="filter_is_article_item" string="Article Items"
|
|
domain="[('is_article_item', '=', True)]"/>
|
|
<separator/>
|
|
<filter name="filter_favorites" string="Favorite"
|
|
domain="[('is_user_favorite', '=', True)]"/>
|
|
<separator/>
|
|
<filter name="filter_workspace_articles" string="Workspace"
|
|
domain="[('category', '=', 'workspace')]"/>
|
|
<filter name="filter_shared_articles" string="Shared"
|
|
domain="[('category', '=', 'shared')]"/>
|
|
<filter name="filter_own_privates" string="Private"
|
|
domain="[('category', '=', 'private'), ('user_has_write_access', '=', True)]"/>
|
|
<separator/>
|
|
<filter name="filter_is_archived" string="Archived"
|
|
domain="[('active', '=', False)]"/>
|
|
<filter name="filter_trashed" string="Trashed"
|
|
domain="[('active', '=', False), ('to_delete', '=', True)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter name="group_by_category" domain="[]" context="{'group_by': 'category'}"/>
|
|
<filter name="group_by_menu_article" context="{'group_by': 'root_article_id'}"/>
|
|
<separator/>
|
|
<filter name="group_by_article_properties" domain="[]" context="{'group_by': 'article_properties'}"/>
|
|
</group>
|
|
<group>
|
|
<filter name="filter_search_article_ids" string="Search results"
|
|
domain="[('id', 'in', context.get('search_article_ids'))]" invisible="1"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_search_items" model="ir.ui.view">
|
|
<field name="name">knowledge.article.view.search.embedded</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">2</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name"/>
|
|
<field name="root_article_id"/>
|
|
<field name="body"/>
|
|
<field name="last_edition_uid"/>
|
|
<field name="article_properties"/>
|
|
<field name="stage_id"/>
|
|
|
|
<filter name="filter_my_items" string="My Items"
|
|
domain="[('create_uid', '=', uid)]"/>
|
|
<filter name="filter_favorites" string="My Favorites"
|
|
domain="[('is_user_favorite', '=', True)]"/>
|
|
<separator/>
|
|
<filter name="filter_active" string="Archived"
|
|
domain="[('active', '=', False)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter name="group_by_stage" string="Stage" domain="[]" context="{'group_by': 'stage_id'}"/>
|
|
<separator/>
|
|
<filter name="group_by_article_properties" domain="[]"
|
|
context="{'group_by': 'article_properties'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_action" model="ir.actions.act_window">
|
|
<field name="name">Articles</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="path">articles</field>
|
|
<field name="view_mode">list,kanban,hierarchy,form</field>
|
|
<field name="context">{'search_default_filter_not_is_article_item': 1}</field>
|
|
<field name="domain">[('is_template', '=', False)]</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create an article
|
|
</p><p>
|
|
Be the first one to unleash the power of Knowledge!
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_action_form" model="ir.actions.act_window">
|
|
<field name="name">Articles</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="domain">[('is_template', '=', False)]</field>
|
|
<field name="view_id" ref="knowledge.knowledge_article_view_form"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_action_form_show_resolved" model="ir.actions.act_window">
|
|
<field name="name">Articles</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="knowledge.knowledge_article_view_form"/>
|
|
<field name="context">{'show_resolved_threads': True}</field>
|
|
</record>
|
|
|
|
<!-- Action window for article items -->
|
|
<record id="knowledge_article_item_action" model="ir.actions.act_window">
|
|
<field name="name">Article Items</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">list,kanban,form</field>
|
|
<field name="domain">[('parent_id', '=', active_id), ('is_article_item', '=', True)]</field>
|
|
<field name="search_view_id" ref="knowledge_article_view_search_items"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create an Article Item
|
|
</p><p>
|
|
Article items are articles that exist inside their parents but are not displayed in the menu.
|
|
They can be used to handle lists (Buildings, Tasks, ...).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_items_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="1"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="knowledge_article_view_kanban_items"/>
|
|
<field name="act_window_id" ref="knowledge_article_item_action"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_items_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="2"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="knowledge_article_view_tree_items"/>
|
|
<field name="act_window_id" ref="knowledge_article_item_action"/>
|
|
</record>
|
|
|
|
<!-- Action window for article items calendar (different from other item
|
|
views as we do not want to be able to switch from other views to calendar,
|
|
and vice versa, as the calendar absolutely needs some props from the
|
|
embeddedProps to work) -->
|
|
<record id="knowledge_article_action_item_calendar" model="ir.actions.act_window">
|
|
<field name="name">Article Items</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="domain">[('parent_id', '=', active_id), ('is_article_item', '=', True)]</field>
|
|
<field name="search_view_id" ref="knowledge_article_view_search_items"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create an Article Item
|
|
</p><p>
|
|
Article items are articles that exist inside their parents but are not displayed in the menu.
|
|
They can be used to handle lists (Buildings, Tasks, ...).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_item_calendar" model="ir.actions.act_window.view">
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="knowledge_article_view_calendar_items"/>
|
|
<field name="act_window_id" ref="knowledge_article_action_item_calendar"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_item_action_stages" model="ir.actions.act_window">
|
|
<field name="name">Article Items</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">kanban,list,form</field>
|
|
<field name="domain">[('parent_id', '=', active_id), ('is_article_item', '=', True)]</field>
|
|
<field name="search_view_id" ref="knowledge_article_view_search_items"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create an Article Item
|
|
</p><p>
|
|
Article items are articles that exist inside their parents but are not displayed in the menu.
|
|
They can be used to handle lists (Buildings, Tasks, ...).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_items_kanban_stages" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="1"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="knowledge_article_view_kanban_items_stages"/>
|
|
<field name="act_window_id" ref="knowledge_article_item_action_stages"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_view_items_tree_stages" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="2"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="knowledge_article_view_tree_items"/>
|
|
<field name="act_window_id" ref="knowledge_article_item_action_stages"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_action_trashed_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="1"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="knowledge_article_view_tree_trash"/>
|
|
<field name="act_window_id" ref="knowledge_article_action_trashed"/>
|
|
</record>
|
|
|
|
<!-- Templates: -->
|
|
|
|
<record id="knowledge_article_template_view_search" model="ir.ui.view">
|
|
<field name="name">knowledge.article.template.view.search</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<filter name="filter_not_is_article_item" string="Template"
|
|
domain="[('is_article_item', '=', False)]"/>
|
|
<filter name="filter_is_article_item" string="Template Items"
|
|
domain="[('is_article_item', '=', True)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter name="group_by_template_category_id" domain="[]" context="{'group_by': 'template_category_id'}"/>
|
|
<filter name="group_by_menu_article" context="{'group_by': 'root_article_id'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_template_view_tree" model="ir.ui.view">
|
|
<field name="name">knowledge.article.template.view.list</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<list>
|
|
<field name="display_name" string="Name"/>
|
|
<field name="parent_id"/>
|
|
<field name="template_category_id"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_template_view_form" model="ir.ui.view">
|
|
<field name="name">knowledge.article.template.view.form</field>
|
|
<field name="model">knowledge.article</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<sheet>
|
|
<group>
|
|
<field name="template_name"/>
|
|
<field name="icon" widget="char_emojis"/>
|
|
<field name="template_body" widget="code" options="{'mode': 'xml'}"/>
|
|
<field name="template_description"/>
|
|
<field name="parent_id" string="Parent Template" domain="[('id', '!=', id), ('is_template', '=', True)]"/>
|
|
<field name="is_article_item" invisible="not parent_id"/>
|
|
<field name="article_properties" invisible="not parent_id"/>
|
|
<field name="template_category_id"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_template_action" model="ir.actions.act_window">
|
|
<field name="name">Article Templates</field>
|
|
<field name="res_model">knowledge.article</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="context">{
|
|
'search_default_filter_not_is_article_item': 1,
|
|
'default_is_template': True
|
|
}</field>
|
|
<field name="search_view_id" ref="knowledge_article_template_view_search"/>
|
|
<field name="domain">[('is_template', '=', True)]</field>
|
|
</record>
|
|
|
|
<record id="knowledge_article_template_action_view_tree" model="ir.actions.act_window.view">
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="knowledge_article_template_view_tree"/>
|
|
<field name="act_window_id" ref="knowledge_article_template_action"/>
|
|
</record>
|
|
|
|
<record id="knowledge_article_template_action_view_form" model="ir.actions.act_window.view">
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="knowledge_article_template_view_form"/>
|
|
<field name="act_window_id" ref="knowledge_article_template_action"/>
|
|
</record>
|
|
</odoo>
|