mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-13 15:34:49 -06:00

* Rename classes and files to match model names, and removed workflow engine. * Some fields should be readonly if not in draft. * Allow Knowledge / Manager to edit previous history names and summary * Improve ux by adding user_has_drafts to document pages. * Changes because of implementation of active field on document_page * Add ir.rules for document.page.history * Allow to quickly cancel&draft from 'to approve' state * FIX BUG: am_i_approver was being run as sudo(), hence always giving the user Approving rights. * FIX hooks Because of default='draft' on the state field, state IS NULL wasn't selecting anything. Left the condition in case this is changed in the future.
26 lines
806 B
Python
26 lines
806 B
Python
# Copyright 2018 Ivan Todorovich (<ivan.todorovich@gmail.com>)
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
import logging
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def post_init_hook(cr, registry): # pragma: no cover
|
|
# Set all pre-existing pages history to approved
|
|
_logger.info('Setting history to approved.')
|
|
cr.execute("""
|
|
UPDATE document_page_history
|
|
SET state='approved',
|
|
approved_uid=create_uid,
|
|
approved_date=create_date
|
|
WHERE state IS NULL OR state = 'draft'
|
|
""")
|
|
|
|
|
|
def uninstall_hook(cr, registry): # pragma: no cover
|
|
# Remove unapproved pages
|
|
_logger.info('Deleting unapproved Change Requests.')
|
|
cr.execute(
|
|
"DELETE FROM document_page_history "
|
|
"WHERE state != 'approved'"
|
|
)
|