[MIG] document_page: migration Browse Wiki Content to 17.0

This commit is contained in:
natuan9 2024-11-05 17:25:08 +07:00
parent 59f773ffed
commit 443b2cfcac
9 changed files with 76 additions and 80 deletions

View File

@ -54,8 +54,8 @@ To use this module, you need to:
- Go to Knowledge menu - Go to Knowledge menu
- Click on Categories to create the document's category you need with - Click on Categories to create the document's category you need with
the template the template
- Click on Pages to create pages and select the previous category to - Click on Pages to create pages and select the previous category to use
use the template the template
Bug Tracker Bug Tracker
=========== ===========

View File

@ -32,6 +32,8 @@
"assets": { "assets": {
"web.assets_backend": [ "web.assets_backend": [
"document_page/static/src/scss/document_page.scss", "document_page/static/src/scss/document_page.scss",
"document_page/static/src/js/document_page_kanban_controller.esm.js",
"document_page/static/src/js/document_page_kanban_view.esm.js",
], ],
}, },
} }

View File

@ -94,7 +94,7 @@ class DocumentPage(models.Model):
compute="_compute_backend_url", compute="_compute_backend_url",
) )
image = fields.Binary("Image", attachment=True) image = fields.Binary(attachment=True)
color = fields.Integer(string="Color Index") color = fields.Integer(string="Color Index")
@api.depends("menu_id", "parent_id.menu_id") @api.depends("menu_id", "parent_id.menu_id")

View File

@ -8,10 +8,11 @@
/* /*
:Author: David Goodger (goodger@python.org) :Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ :Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain. :Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils. Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet. customize this style sheet.
@ -274,7 +275,7 @@ pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ; margin-left: 2em ;
margin-right: 2em } margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */ pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee } pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 } pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
@ -300,7 +301,7 @@ span.option {
span.pre { span.pre {
white-space: pre } white-space: pre }
span.problematic { span.problematic, pre.problematic {
color: red } color: red }
span.section-subtitle { span.section-subtitle {
@ -402,8 +403,8 @@ addons list.</p>
<li>Go to Knowledge menu</li> <li>Go to Knowledge menu</li>
<li>Click on Categories to create the documents category you need with <li>Click on Categories to create the documents category you need with
the template</li> the template</li>
<li>Click on Pages to create pages and select the previous category to <li>Click on Pages to create pages and select the previous category to use
use the template</li> the template</li>
</ul> </ul>
</div> </div>
<div class="section" id="bug-tracker"> <div class="section" id="bug-tracker">
@ -458,7 +459,9 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
<div class="section" id="maintainers"> <div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2> <h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p> <p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> <a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>

View File

@ -1,26 +0,0 @@
odoo.define("document_page.update_kanban", function (require) {
"use strict";
var KanbanRecord = require("web.KanbanRecord");
KanbanRecord.include({
// --------------------------------------------------------------------------
// Private
// --------------------------------------------------------------------------
/**
* @override
* @private
*/
_openRecord: function () {
if (
this.modelName === "document.page" &&
this.$(".o_document_page_kanban_boxes a").length
) {
this.$(".o_document_page_kanban_boxes a").first().click();
} else {
this._super.apply(this, arguments);
}
},
});
});

View File

@ -0,0 +1,19 @@
/** @odoo-module **/
import {KanbanController} from "@web/views/kanban/kanban_controller";
export class DocumentPageKanbanController extends KanbanController {
/**
* @param {Object} record
*/
async openRecord(record) {
const element = document.querySelector(
`.o_kanban_record[data-id="${record.id}"] .o_document_page_kanban_boxes a`
);
if (this.props.resModel === "document.page" && element) {
element.click();
} else {
await super.openRecord(record);
}
}
}

View File

@ -0,0 +1,11 @@
/** @odoo-module **/
import {registry} from "@web/core/registry";
import {kanbanView} from "@web/views/kanban/kanban_view";
import {DocumentPageKanbanController} from "./document_page_kanban_controller.esm";
export const documentPageKanbanView = {
...kanbanView,
Controller: DocumentPageKanbanController,
};
registry.category("views").add("document_page_kanban_view", documentPageKanbanView);

View File

@ -45,7 +45,12 @@
/> />
<field name="active" invisible="1" /> <field name="active" invisible="1" />
<field name="type" invisible="1" /> <field name="type" invisible="1" />
<field name="image" widget="image" class="oe_avatar" /> <field
name="image"
widget="image"
class="oe_avatar"
style="z-index:1"
/>
<div class="oe_title"> <div class="oe_title">
<h1> <h1>
<field name="name" placeholder="Name" /> <field name="name" placeholder="Name" />

View File

@ -97,7 +97,7 @@
<field name="name">document.page.browse.kanban</field> <field name="name">document.page.browse.kanban</field>
<field name="model">document.page</field> <field name="model">document.page</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<kanban> <kanban js_class="document_page_kanban_view">
<field name="id" /> <field name="id" />
<field name="name" /> <field name="name" />
<field name="display_name" /> <field name="display_name" />
@ -152,35 +152,13 @@
<img <img
t-att-src="kanban_image('document.page', 'image', record.parent_id.raw_value)" t-att-src="kanban_image('document.page', 'image', record.parent_id.raw_value)"
t-att-alt="record.parent_id.display_name" t-att-alt="record.parent_id.display_name"
width="24" style="margin-right:5px; width:24px; height:24px;"
height="24"
/> />
<field name="parent_id" /> <field name="parent_id" />
</small> </small>
</div> </div>
</div> </div>
<div
class="o_dropdown_kanban dropdown"
groups="base.group_user"
>
<a
role="button"
class="dropdown-toggle o-no-caret btn"
data-toggle="dropdown"
data-display="static"
href="#"
aria-label="Dropdown menu"
title="Dropdown menu"
>
<span class="fa fa-ellipsis-v" />
</a>
<div class="dropdown-menu" role="menu">
<ul
class="oe_kanban_colorpicker"
data-field="color"
/>
</div>
</div>
<div class="o_kanban_record_body"> <div class="o_kanban_record_body">
<div class="o_kanban_tags_section"> <div class="o_kanban_tags_section">
</div> </div>
@ -219,6 +197,10 @@
</div> </div>
</div> </div>
</t> </t>
<t t-name="kanban-menu">
<ul class="oe_kanban_colorpicker" data-field="color" />
</t>
</templates> </templates>
</kanban> </kanban>
</field> </field>
@ -302,7 +284,7 @@
/> />
<menuitem <menuitem
id="menu_browse_content" id="menu_browse_content"
parent="knowledge.menu_document_root" parent="document_knowledge.menu_document_root"
name="Browse Wiki Content" name="Browse Wiki Content"
action="action_browse_top_content" action="action_browse_top_content"
sequence="5" sequence="5"