[MOV] *: move future page manager related views and action
*: website_blog, website_forum A "page manager" list view will be created for key models in other apps. This commit moves blog and forum views to a dedicated file to save some history for the future introduction of that "page manager" list view. task-2889981 Part-of: odoo/odoo#98937
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
'views/website_blog_templates.xml',
|
||||
'views/snippets/snippets.xml',
|
||||
'views/snippets/s_blog_posts.xml',
|
||||
'views/website_pages_views.xml',
|
||||
'views/blog_post_add.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/website_blog_security.xml',
|
||||
|
||||
@@ -36,138 +36,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- page list view -->
|
||||
<record id="view_blog_post_list" model="ir.ui.view">
|
||||
<field name="name">blog.post.list</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Blog Posts" multi_edit="1" sample="1">
|
||||
<field name="name"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="author_id"/>
|
||||
<field name="blog_id"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
<field name="is_published" string="Is Published" optional="hide"/>
|
||||
<field name="create_uid" invisible="1"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- page form view -->
|
||||
<record id="view_blog_post_form" model="ir.ui.view">
|
||||
<field name="name">blog.post.form</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Blog Post">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box" attrs="{'invisible': [('active', '=', False)]}">
|
||||
<field name="is_published" widget="website_redirect_button"/>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
||||
<group name="blog_details">
|
||||
<field name="blog_id"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="name" placeholder="Blog Post Title"/>
|
||||
<field name="subtitle" placeholder="Blog Subtitle"/>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
</group>
|
||||
<group name="publishing_details" string="Publishing Options">
|
||||
<field name="author_id"/>
|
||||
<field name="create_date" groups="base.group_no_one"/>
|
||||
<field name="visits"/>
|
||||
<field name="post_date"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="seo" string="SEO" groups="base.group_no_one">
|
||||
<group name="default_opengraph">
|
||||
<field name="website_meta_title" string="Meta Title"/>
|
||||
<field name="website_meta_description" string="Meta Description"/>
|
||||
<field name="website_meta_keywords" string="Meta Keywords" help="Separate every keyword with a comma"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<!-- page search view -->
|
||||
<record id="view_blog_post_search" model="ir.ui.view">
|
||||
<field name="name">blog.post.search</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Blog Post">
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<field name="name" string="Content" filter_domain="['|', ('name','ilike',self), ('content','ilike',self)]"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="blog_id"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Blog" name="group_by_blog" domain="[]" context="{'group_by': 'blog_id'}"/>
|
||||
<filter string="Author" name="group_by_author" domain="[]" context="{'group_by': 'create_uid'}"/>
|
||||
<filter string="Last Contributor" name="last_contributor" domain="[]" context="{'group_by': 'write_uid'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="blog_post_view_kanban" model="ir.ui.view">
|
||||
<field name="name">blog.post.kanban</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile" sample="1">
|
||||
<field name="name"/>
|
||||
<field name="blog_id"/>
|
||||
<field name="author_id"/>
|
||||
<field name="post_date"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click">
|
||||
<div class="row mb4">
|
||||
<strong class="col-8">
|
||||
<span t-esc="record.name.value"/>
|
||||
</strong>
|
||||
<strong class="col-4 text-end">
|
||||
<span t-esc="record.blog_id.value"/>
|
||||
</strong>
|
||||
<div class="col-8">
|
||||
<i class="fa fa-clock-o" role="img" aria-label="Post date" title="Post date"/><span t-esc="record.post_date.value"/>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<img t-if="record.author_id.raw_value"
|
||||
t-att-title="record.author_id.value"
|
||||
t-att-alt="record.author_id.value"
|
||||
class="oe_kanban_avatar o_image_24_cover"
|
||||
t-att-src="kanban_image('res.partner', 'avatar_128', record.author_id.raw_value)"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- page action -->
|
||||
<record id="action_blog_post" model="ir.actions.act_window">
|
||||
<field name="name">Blog Posts</field>
|
||||
<field name="res_model">blog.post</field>
|
||||
<field name="view_mode">tree,form,kanban</field>
|
||||
<field name="view_id" ref="view_blog_post_list"/>
|
||||
<field name="search_view_id" ref="view_blog_post_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new blog post
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="blog_blog_view_search" model="ir.ui.view">
|
||||
<field name="name">blog.blog.search</field>
|
||||
<field name="model">blog.blog</field>
|
||||
@@ -260,13 +128,6 @@
|
||||
|
||||
<menuitem id="menu_blog_global" parent="menu_website_blog_root_global" name="Blogs" action="action_blog_blog" sequence="20"/>
|
||||
|
||||
<menuitem name="Blog Post"
|
||||
id="menu_website_blog_post"
|
||||
sequence="30"
|
||||
parent="menu_website_blog_root_global"
|
||||
groups="website.group_website_designer"
|
||||
action="action_blog_post"/>
|
||||
|
||||
<menuitem id="menu_blog_tag_global" parent="menu_website_blog_root_global" name="Tags" action="action_tags" sequence="40" />
|
||||
|
||||
<menuitem id="menu_website_blog_tag_category_global" parent="menu_website_blog_root_global"
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
|
||||
<record id="view_blog_post_form" model="ir.ui.view">
|
||||
<field name="name">blog.post.form</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Blog Post">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box" attrs="{'invisible': [('active', '=', False)]}">
|
||||
<field name="is_published" widget="website_redirect_button"/>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
||||
<group name="blog_details">
|
||||
<field name="blog_id"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="name" placeholder="Blog Post Title"/>
|
||||
<field name="subtitle" placeholder="Blog Subtitle"/>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
</group>
|
||||
<group name="publishing_details" string="Publishing Options">
|
||||
<field name="author_id"/>
|
||||
<field name="create_date" groups="base.group_no_one"/>
|
||||
<field name="visits"/>
|
||||
<field name="post_date"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="seo" string="SEO" groups="base.group_no_one">
|
||||
<group name="default_opengraph">
|
||||
<field name="website_meta_title" string="Meta Title"/>
|
||||
<field name="website_meta_description" string="Meta Description"/>
|
||||
<field name="website_meta_keywords" string="Meta Keywords" help="Separate every keyword with a comma"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="blog_post_view_kanban" model="ir.ui.view">
|
||||
<field name="name">blog.post.kanban</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="o_kanban_mobile" sample="1">
|
||||
<field name="name"/>
|
||||
<field name="blog_id"/>
|
||||
<field name="author_id"/>
|
||||
<field name="post_date"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_global_click">
|
||||
<div class="row mb4">
|
||||
<strong class="col-8">
|
||||
<span t-esc="record.name.value"/>
|
||||
</strong>
|
||||
<strong class="col-4 text-end">
|
||||
<span t-esc="record.blog_id.value"/>
|
||||
</strong>
|
||||
<div class="col-8">
|
||||
<i class="fa fa-clock-o" role="img" aria-label="Post date" title="Post date"/><span t-esc="record.post_date.value"/>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<img t-if="record.author_id.raw_value"
|
||||
t-att-title="record.author_id.value"
|
||||
t-att-alt="record.author_id.value"
|
||||
class="oe_kanban_avatar o_image_24_cover"
|
||||
t-att-src="kanban_image('res.partner', 'avatar_128', record.author_id.raw_value)"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_blog_post_search" model="ir.ui.view">
|
||||
<field name="name">blog.post.search</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Blog Post">
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<field name="name" string="Content" filter_domain="['|', ('name','ilike',self), ('content','ilike',self)]"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="blog_id"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Blog" name="group_by_blog" domain="[]" context="{'group_by': 'blog_id'}"/>
|
||||
<filter string="Author" name="group_by_author" domain="[]" context="{'group_by': 'create_uid'}"/>
|
||||
<filter string="Last Contributor" name="last_contributor" domain="[]" context="{'group_by': 'write_uid'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_blog_post_list" model="ir.ui.view">
|
||||
<field name="name">blog.post.list</field>
|
||||
<field name="model">blog.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Blog Posts" multi_edit="1" sample="1">
|
||||
<field name="name"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="author_id"/>
|
||||
<field name="blog_id"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
<field name="is_published" string="Is Published" optional="hide"/>
|
||||
<field name="create_uid" invisible="1"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_blog_post" model="ir.actions.act_window">
|
||||
<field name="name">Blog Posts</field>
|
||||
<field name="res_model">blog.post</field>
|
||||
<field name="view_mode">tree,form,kanban</field>
|
||||
<field name="view_id" ref="view_blog_post_list"/>
|
||||
<field name="search_view_id" ref="view_blog_post_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new blog post
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Blog Post"
|
||||
id="menu_website_blog_post"
|
||||
sequence="30"
|
||||
parent="menu_website_blog_root_global"
|
||||
groups="website.group_website_designer"
|
||||
action="action_blog_post"/>
|
||||
|
||||
</odoo>
|
||||
@@ -27,6 +27,7 @@ Ask questions, get answers, no distractions
|
||||
'views/website_forum_profile.xml',
|
||||
'views/ir_qweb.xml',
|
||||
'views/snippets/snippets.xml',
|
||||
'views/website_pages_views.xml',
|
||||
'views/forum_forum_add.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/website_forum_security.xml',
|
||||
|
||||
@@ -169,144 +169,6 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<!-- POST VIEWS -->
|
||||
<record id="view_forum_post_list" model="ir.ui.view">
|
||||
<field name="name">forum.post.list</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Forum Posts">
|
||||
<field name="name"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="views" string="# Views" sum="Total Views"/>
|
||||
<field name="child_count" string="# Answers" sum="Total Answers"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-success="state == 'active'"
|
||||
decoration-danger="state == 'close'"
|
||||
decoration-warning="state not in ('active', 'close')"/>
|
||||
<field name="website_id" groups="website.group_multi_website" optional="hide"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_forum_post_form" model="ir.ui.view">
|
||||
<field name="name">forum.post.form</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Forum Post">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button type="object" class="oe_stat_button" icon="fa-globe" name="go_to_website">
|
||||
<div class="o_form_field o_stat_info">
|
||||
<span class="o_stat_text">Go to <br/>Website</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" placeholder="e.g. When should I plant my tomatoes?"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group name="forum_details">
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group name="post_details">
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
<field name="state"/>
|
||||
<field name="closed_reason_id"/>
|
||||
<field name="closed_uid"/>
|
||||
<field name="closed_date"/>
|
||||
</group>
|
||||
<group name="creation_details">
|
||||
<field name="create_uid"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</group>
|
||||
<group name="post_statistics">
|
||||
<field name="is_correct"/>
|
||||
<field name="views"/>
|
||||
<field name="vote_count"/>
|
||||
<field name="favourite_count"/>
|
||||
<field name="child_count"/>
|
||||
<field name="relevancy"/>
|
||||
</group>
|
||||
</group>
|
||||
<group name="answers" string="Answers" attrs="{'invisible':[('parent_id','!=',False)]}">
|
||||
<field name="child_ids" nolabel="1">
|
||||
<tree>
|
||||
<field name="create_uid" string="Answered by"/>
|
||||
<field name="vote_count"/>
|
||||
<field name="state"/>
|
||||
<field name="is_correct"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_forum_post_search" model="ir.ui.view">
|
||||
<field name="name">forum.post.search</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search in Post">
|
||||
<field name="name" string="Content" filter_domain="['|', ('name', 'ilike', self), ('content', 'ilike', self)]"/>
|
||||
<field name="create_uid"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="tag_ids" string="Tag"/>
|
||||
<filter string="Posts" name="posts" domain="[('parent_id', '=', False)]" />
|
||||
<filter string="Answers" name="answers" domain="[('parent_id', '!=', False)]" />
|
||||
<filter string="Accepted Answer" name="accepted_answer" domain="[('is_correct' , '!=', False), ('parent_id', '!=', False)]" />
|
||||
<filter string="Answered Posts" name="answered_posts" domain="[('child_count', '!=', 0), ('parent_id', '=', False)]" />
|
||||
<separator/>
|
||||
<filter name="filter_create_date" date="create_date"/>
|
||||
<filter name="filter_write_date" date="write_date"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Forum" name="forum" domain="[]" context="{'group_by': 'forum_id'}"/>
|
||||
<filter string="Author" name="author" domain="[]" context="{'group_by': 'create_uid'}"/>
|
||||
<filter string="Post" name="post" domain="[]" context="{'group_by': 'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_forum_post_graph">
|
||||
<field name="name">forum.post.graph</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Graph of Posts" sample="1">
|
||||
<field name="write_date" interval="month"/>
|
||||
<field name="forum_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_forum_post" model="ir.actions.act_window">
|
||||
<field name="name">Forum Posts</field>
|
||||
<field name="res_model">forum.post</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="view_forum_post_list"/>
|
||||
<field name="search_view_id" ref="view_forum_post_search"/>
|
||||
<field name="context">{'search_default_posts':1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new forum post
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- TAG VIEWS -->
|
||||
<record id="forum_tag_view_list" model="ir.ui.view">
|
||||
<field name="name">forum.tag.list</field>
|
||||
@@ -373,7 +235,6 @@
|
||||
parent="website.menu_website_global_configuration" sequence="170" groups="website.group_website_designer"/>
|
||||
|
||||
<menuitem id="menu_forum_global" parent="menu_website_forum_global" name="Forums" action="action_forum_forum" sequence="10"/>
|
||||
<menuitem id="menu_forum_posts" parent="menu_website_forum_global" name="Forum Post" action="action_forum_post" sequence="20"/>
|
||||
<menuitem id="menu_forum_rank_global" parent="menu_website_forum_global" name="Ranks" action="gamification.gamification_karma_ranks_action" sequence="30"/>
|
||||
<menuitem id="menu_forum_tag_global" parent="menu_website_forum_global" name="Tags" action="forum_tag_action" sequence="40"/>
|
||||
<menuitem id="menu_forum_badges" parent="menu_website_forum_global" name="Badges" action="gamification.badge_list_action" sequence="50"/>
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
|
||||
<record id="view_forum_post_form" model="ir.ui.view">
|
||||
<field name="name">forum.post.form</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Forum Post">
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button type="object" class="oe_stat_button" icon="fa-globe" name="go_to_website">
|
||||
<div class="o_form_field o_stat_info">
|
||||
<span class="o_stat_text">Go to <br/>Website</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="bg-danger" attrs="{'invisible': [('active', '=', True)]}"/>
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" placeholder="e.g. When should I plant my tomatoes?"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group name="forum_details">
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="website_id" groups="website.group_multi_website"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group name="post_details">
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
<field name="state"/>
|
||||
<field name="closed_reason_id"/>
|
||||
<field name="closed_uid"/>
|
||||
<field name="closed_date"/>
|
||||
</group>
|
||||
<group name="creation_details">
|
||||
<field name="create_uid"/>
|
||||
<field name="create_date"/>
|
||||
<field name="write_uid"/>
|
||||
<field name="write_date"/>
|
||||
</group>
|
||||
<group name="post_statistics">
|
||||
<field name="is_correct"/>
|
||||
<field name="views"/>
|
||||
<field name="vote_count"/>
|
||||
<field name="favourite_count"/>
|
||||
<field name="child_count"/>
|
||||
<field name="relevancy"/>
|
||||
</group>
|
||||
</group>
|
||||
<group name="answers" string="Answers" attrs="{'invisible':[('parent_id','!=',False)]}">
|
||||
<field name="child_ids" nolabel="1">
|
||||
<tree>
|
||||
<field name="create_uid" string="Answered by"/>
|
||||
<field name="vote_count"/>
|
||||
<field name="state"/>
|
||||
<field name="is_correct"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" groups="base.group_user"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_forum_post_search" model="ir.ui.view">
|
||||
<field name="name">forum.post.search</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search in Post">
|
||||
<field name="name" string="Content" filter_domain="['|', ('name', 'ilike', self), ('content', 'ilike', self)]"/>
|
||||
<field name="create_uid"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="tag_ids" string="Tag"/>
|
||||
<filter string="Posts" name="posts" domain="[('parent_id', '=', False)]" />
|
||||
<filter string="Answers" name="answers" domain="[('parent_id', '!=', False)]" />
|
||||
<filter string="Accepted Answer" name="accepted_answer" domain="[('is_correct' , '!=', False), ('parent_id', '!=', False)]" />
|
||||
<filter string="Answered Posts" name="answered_posts" domain="[('child_count', '!=', 0), ('parent_id', '=', False)]" />
|
||||
<separator/>
|
||||
<filter name="filter_create_date" date="create_date"/>
|
||||
<filter name="filter_write_date" date="write_date"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Forum" name="forum" domain="[]" context="{'group_by': 'forum_id'}"/>
|
||||
<filter string="Author" name="author" domain="[]" context="{'group_by': 'create_uid'}"/>
|
||||
<filter string="Post" name="post" domain="[]" context="{'group_by': 'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_forum_post_graph" model="ir.ui.view">
|
||||
<field name="name">forum.post.graph</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Graph of Posts" sample="1">
|
||||
<field name="write_date" interval="month"/>
|
||||
<field name="forum_id"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_forum_post_list" model="ir.ui.view">
|
||||
<field name="name">forum.post.list</field>
|
||||
<field name="model">forum.post</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Forum Posts">
|
||||
<field name="name"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="forum_id"/>
|
||||
<field name="views" string="# Views" sum="Total Views"/>
|
||||
<field name="child_count" string="# Answers" sum="Total Answers"/>
|
||||
<field name="state" widget="badge"
|
||||
decoration-success="state == 'active'"
|
||||
decoration-danger="state == 'close'"
|
||||
decoration-warning="state not in ('active', 'close')"/>
|
||||
<field name="website_id" groups="website.group_multi_website" optional="hide"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_forum_post" model="ir.actions.act_window">
|
||||
<field name="name">Forum Posts</field>
|
||||
<field name="res_model">forum.post</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="view_forum_post_list"/>
|
||||
<field name="search_view_id" ref="view_forum_post_search"/>
|
||||
<field name="context">{'search_default_posts':1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new forum post
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_forum_posts" parent="menu_website_forum_global" name="Forum Post" action="action_forum_post" sequence="20"/>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user