mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-19 09:53:38 -06:00
[ADD] allow synchronous reindexation during init
This commit is contained in:
parent
dafc1d6639
commit
e4d11a8c1e
@ -10,10 +10,7 @@ To reindex a single document, open its form and click the `Reindex document` but
|
||||
|
||||
To reindex all documents, go to Settings / Configuration / Knowledge, check the box `Reindex all documents` or `Reindex all unindexed documents` and click apply. Those are done in the background, so watch your logs for the process to finish.
|
||||
|
||||
Known issues / Roadmap
|
||||
======================
|
||||
|
||||
* Currently, this module is not fit for huge amounts of documents
|
||||
In a migration context, you might want to reindex all or unindexed documents. To achieve this, create a config parameter `document_reindex.reindex_unindexed_on_init` or `document_reindex.reindex_all_on_init` to have the reindexation run synchronously during installation of this module.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
@ -19,3 +19,4 @@
|
||||
#
|
||||
##############################################################################
|
||||
from . import models
|
||||
from .hooks import post_init_hook
|
||||
|
@ -32,6 +32,7 @@
|
||||
"views/knowledge_config_settings.xml",
|
||||
"views/ir_attachment.xml",
|
||||
],
|
||||
"post_init_hook": 'post_init_hook',
|
||||
"auto_install": False,
|
||||
"installable": True,
|
||||
"application": False,
|
||||
|
35
document_reindex/hooks.py
Normal file
35
document_reindex/hooks.py
Normal file
@ -0,0 +1,35 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# This module copyright (C) 2015 Therp BV <http://therp.nl>.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
from openerp import SUPERUSER_ID, api
|
||||
|
||||
|
||||
def post_init_hook(cr, pool):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
with env.manage():
|
||||
func = None
|
||||
if env['ir.config_parameter'].get_param(
|
||||
'document_reindex.reindex_all_on_init'):
|
||||
func = 'document_reindex_all'
|
||||
if env['ir.config_parameter'].get_param(
|
||||
'document_reindex.reindex_unindexed_on_init'):
|
||||
func = 'document_reindex_unindexed'
|
||||
if func:
|
||||
getattr(env['ir.attachment'], func)()
|
Loading…
Reference in New Issue
Block a user