From 32174296f0f6b4fa2bee822d3e8199b3744d9e64 Mon Sep 17 00:00:00 2001 From: Florent THOMAS Date: Thu, 3 Feb 2022 00:18:03 +0100 Subject: [PATCH] Browsing behaviour operationnal --- document_page/models/document_page.py | 15 ++ .../static/src/js/document_page_kanban.js | 32 +++ document_page/views/document_page_assets.xml | 1 + .../views/document_page_category.xml | 208 +++++++++++++----- 4 files changed, 198 insertions(+), 58 deletions(-) create mode 100644 document_page/static/src/js/document_page_kanban.js diff --git a/document_page/models/document_page.py b/document_page/models/document_page.py index 3b8da3c9..50ee5ac8 100644 --- a/document_page/models/document_page.py +++ b/document_page/models/document_page.py @@ -125,8 +125,18 @@ class DocumentPage(models.Model): image = fields.Binary( "Image", attachment=True, ) + + color = fields.Integer(string='Color Index') + @api.multi + def write(self, vals): + child_ids = self + if vals.get('color', False) and len(vals) ==1: + child_ids = self.search([('type', '=', 'category'), ('parent_id', 'child_of', self.ids)]) + res = super(DocumentPage, child_ids).write(vals) + return res + @api.depends('name', 'parent_id.complete_name') def _compute_complete_name(self): for category in self: @@ -224,3 +234,8 @@ class DocumentPage(models.Model): res = super().unlink() menus.unlink() return res + + @api.multi + def open_childs(self): + self.ensure_one() + action = self.env.ref('document_page.') \ No newline at end of file diff --git a/document_page/static/src/js/document_page_kanban.js b/document_page/static/src/js/document_page_kanban.js new file mode 100644 index 00000000..cdf7fbbe --- /dev/null +++ b/document_page/static/src/js/document_page_kanban.js @@ -0,0 +1,32 @@ +odoo.define('document_page.update_kanban', function (require) { + 'use strict'; + + var core = require('web.core'); + var Dialog = require('web.Dialog'); + var KanbanRecord = require('web.KanbanRecord'); + + var QWeb = core.qweb; + var _t = core._t; + + 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); + } + }, + + + + + }); +}); diff --git a/document_page/views/document_page_assets.xml b/document_page/views/document_page_assets.xml index b85b0e06..f4625c8e 100644 --- a/document_page/views/document_page_assets.xml +++ b/document_page/views/document_page_assets.xml @@ -4,6 +4,7 @@ diff --git a/document_page/views/document_page_category.xml b/document_page/views/document_page_category.xml index 2f31270b..567531e2 100755 --- a/document_page/views/document_page_category.xml +++ b/document_page/views/document_page_category.xml @@ -1,42 +1,133 @@ - - - document.page.category.form - document.page - -
- - -

- - - - - - - - - - - - - - - - - - -
-
- - - -
-
-
-
+ + + document.page.category.form + document.page + +
+ + + +
+

+ +

+
+ + + + + + + + + + + + + + + + + + +
+
+ + +
+
+
+
+ + + Browse Wiki Content + document.page + [] + {'default_type': 'content', 'search_default_no_parent_id':1, } + form + kanban,tree,form + + + + Browse Wiki Content + document.page + [] + {'default_type': 'content', 'search_default_parent_id': [active_id] } + form + kanban,tree,form + + + + document.page.browse.kanban + document.page + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+
+ +
+ + + + +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+ + +
+
+
+
+
+
+
document.page.category.tree @@ -53,28 +144,20 @@ - + + document.page.category.search document.page + - - - - - - - - - - - + + + + + Category @@ -87,24 +170,33 @@ - + tree - + form - + + + + + + + + + + + + +