[11.0][IMP] document_page:

* move menus to a higher level.
 * fix categories search view.
 * fix create menu action not being accessible in any way.
 * reorder form view, focusing in the content, not in secondary fields.
This commit is contained in:
Lois Rilo 2019-02-28 10:55:23 +01:00 committed by Justine Doutreloux
parent 9b33f6d8d3
commit 729913c1f1
7 changed files with 56 additions and 30 deletions

View File

@ -57,6 +57,7 @@ Contributors
* Maxime Chambreuil <mchambreuil@ursainfosystems.com> * Maxime Chambreuil <mchambreuil@ursainfosystems.com>
* Iván Todorovich <ivan.todorovich@gmail.com> * Iván Todorovich <ivan.todorovich@gmail.com>
* Jose Maria Alzaga <jose.alzaga@aselcis.com> * Jose Maria Alzaga <jose.alzaga@aselcis.com>
* Lois Rilo <lois.rilo@eficent.com>
Funders Funders
------- -------

View File

@ -4,7 +4,7 @@
{ {
'name': 'Document Page', 'name': 'Document Page',
'version': '11.0.2.2.0', 'version': '11.0.2.3.0',
'category': 'Knowledge Management', 'category': 'Knowledge Management',
'author': 'OpenERP SA, Odoo Community Association (OCA)', 'author': 'OpenERP SA, Odoo Community Association (OCA)',
'images': [ 'images': [
@ -15,7 +15,7 @@
'images/customer_invoice.jpeg', 'images/customer_invoice.jpeg',
'images/page_history.png', 'images/page_history.png',
], ],
'website': 'http://www.openerp.com/', 'website': 'https://github.com/OCA/knowledge',
'license': 'AGPL-3', 'license': 'AGPL-3',
'depends': [ 'depends': [
'mail', 'mail',

View File

@ -85,7 +85,7 @@ class DocumentPage(models.Model):
menu_id = fields.Many2one( menu_id = fields.Many2one(
'ir.ui.menu', 'ir.ui.menu',
"Menu", "Menu",
readonly=True readonly=True,
) )
content_date = fields.Datetime( content_date = fields.Datetime(
@ -181,3 +181,10 @@ class DocumentPage(models.Model):
if not self.content or self.content == '<p><br></p>': if not self.content or self.content == '<p><br></p>':
if self.parent_id and self.parent_id.type == "category": if self.parent_id and self.parent_id.type == "category":
self.content = self.parent_id.template self.content = self.parent_id.template
@api.multi
def unlink(self):
menus = self.mapped('menu_id')
res = super().unlink()
menus.unlink()
return res

View File

@ -49,26 +49,25 @@
<field name="name" placeholder="Name"/> <field name="name" placeholder="Name"/>
</h1> </h1>
<group> <group>
<group> <div>
<field name="parent_id" string="Category" context="{'default_type':'category'}"/> <field name="content" widget="html" placeholder="e.g. Once upon a time..." required="1" options="{'safe': True}"/>
<field name="company_id" groups="base.group_multi_company"/> </div>
</group>
<group>
<field name="content_uid"/>
<field name="content_date"/>
<field name="menu_id" readonly="1" attrs="{'invisible': [('menu_id','=',False)]}"/>
</group>
</group> </group>
<notebook> <notebook>
<page name="content" string="Content"> <page name="info" string="Information">
<group string="Revision" class="oe_edit_only"> <group>
<field name="draft_name" placeholder="Rev 01" class="oe_edit_only" /> <group>
<field name="draft_summary" placeholder="eg: Changed ... for ..." class="oe_edit_only" /> <field name="parent_id" string="Category" 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" class="oe_edit_only" />
<field name="draft_summary" placeholder="eg: Changed ... for ..." class="oe_edit_only" />
</group>
</group> </group>
<div>
<label for="content" class="oe_edit_only"/>
<field name="content" widget="html" placeholder="e.g. Once upon a time..." required="1" options="{'safe': True}"/>
</div>
</page> </page>
<page name="history" string="History"> <page name="history" string="History">
<field name="history_ids"> <field name="history_ids">
@ -95,12 +94,12 @@
<field name="name">document.page.menu.form</field> <field name="name">document.page.menu.form</field>
<field name="model">document.page</field> <field name="model">document.page</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Document Page"> <form string="Document Page" create="0">
<field name="type" invisible="1"/> <field name="type" invisible="1"/>
<h1> <h1>
<field name="name" placeholder="Name"/> <field name="name" placeholder="Name"/>
</h1> </h1>
<field name="content" class="oe_view_only" required="1" options='{"safe": True}'/> <field name="content" widget="html" class="oe_view_only" required="1" options='{"safe": True}'/>
</form> </form>
</field> </field>
</record> </record>
@ -160,7 +159,7 @@
<menuitem id="menu_wiki" <menuitem id="menu_wiki"
name="Pages" name="Pages"
parent="knowledge.menu_document_section" parent="knowledge.menu_document_root"
sequence="10"/> sequence="10"/>

View File

@ -51,6 +51,24 @@
</field> </field>
</record> </record>
<record id="view_document_category_filter" model="ir.ui.view">
<field name="name">document.page.category.search</field>
<field name="model">document.page</field>
<field name="arch" type="xml">
<search string="Document Category">
<field name="name" string="Content"
filter_domain="['|', ('name','ilike',self), ('template','ilike',self)]"/>
<field name="parent_id"/>
<field name="create_uid"/>
<field name="content_uid"/>
<group expand="0" string="Group By...">
<filter string="Category" context="{'group_by':'parent_id'}"/>
<filter string="Author" context="{'group_by':'create_uid'}"/>
<filter string="Last Contributor" context="{'group_by':'content_uid'}"/>
</group>
</search>
</field>
</record>
<!-- Category Action --> <!-- Category Action -->
<record id="action_category" model="ir.actions.act_window"> <record id="action_category" model="ir.actions.act_window">
@ -61,7 +79,7 @@
<field name="view_type">form</field> <field name="view_type">form</field>
<field name="view_mode">tree,form</field> <field name="view_mode">tree,form</field>
<field name="view_id" ref="view_category_tree"/> <field name="view_id" ref="view_category_tree"/>
<field name="search_view_id" ref="view_wiki_filter"/> <field name="search_view_id" ref="view_document_category_filter"/>
</record> </record>
<record id="action_category_view_tree" model="ir.actions.act_window.view"> <record id="action_category_view_tree" model="ir.actions.act_window.view">

View File

@ -51,7 +51,7 @@ class DocumentPageCreateMenu(models.TransientModel):
'res_model': 'document.page', 'res_model': 'document.page',
'view_id': view_id, 'view_id': view_id,
'type': 'ir.actions.act_window', 'type': 'ir.actions.act_window',
'target': 'inline', 'target': 'current',
} }
value['domain'] = "[('parent_id','=',%d)]" % (page.id) value['domain'] = "[('parent_id','=',%d)]" % (page.id)
value['res_id'] = page.id value['res_id'] = page.id
@ -66,6 +66,8 @@ class DocumentPageCreateMenu(models.TransientModel):
'parent_id': data.menu_parent_id.id, 'parent_id': data.menu_parent_id.id,
'action': 'ir.actions.act_window,' + str(action_id.id), 'action': 'ir.actions.act_window,' + str(action_id.id),
}) })
if page.menu_id:
page.menu_id.unlink()
page.write({'menu_id': menu_id.id}) page.write({'menu_id': menu_id.id})
return { return {
'type': 'ir.actions.client', 'type': 'ir.actions.client',

View File

@ -26,15 +26,14 @@
</record> </record>
<!-- Create Menu Action --> <!-- Create Server Action -->
<record id="action_wiki_create_menu" <record id="action_wiki_create_menu" model="ir.actions.act_window">
model="ir.actions.act_window">
<field name="name">Create Menu</field> <field name="name">Create Menu</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">document.page.create.menu</field> <field name="res_model">document.page.create.menu</field>
<field name="view_type">form</field>
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="target">new</field> <field name="target">new</field>
<field name="binding_model_id"
ref="document_page.model_document_page"/>
</record> </record>
</odoo> </odoo>