From 9c25ff1d4524943247711e5d9f600c2190f9d67c 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 | 141 ++++++++++++++---- 4 files changed, 161 insertions(+), 28 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 378c1de0..567531e2 100755 --- a/document_page/views/document_page_category.xml +++ b/document_page/views/document_page_category.xml @@ -17,8 +17,7 @@ - + @@ -28,12 +27,10 @@ - + - + @@ -45,6 +42,93 @@ + + 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 document.page @@ -60,28 +144,20 @@ - + + document.page.category.search document.page + - - - - - - - - - - - + + + + + Category @@ -94,24 +170,33 @@ - + tree - + form - + + + + + + + + + + + + +