[FIX+IMP] document_page_approval:

* 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.
This commit is contained in:
Iván Todorovich
2018-04-20 10:42:49 -03:00
committed by Bhavesh Heliconia
parent ffb2adb712
commit 6b2a0bf565
78 changed files with 3924 additions and 1267 deletions

View File

@@ -47,7 +47,7 @@ class TestDocumentPageApproval(common.TransactionCase):
self.assertTrue(chreq.am_i_approver)
# approve
chreq.page_approval_approved()
chreq.action_approve()
self.assertEqual(chreq.state, 'approved')
self.assertEqual(chreq.content, page.content)
@@ -58,7 +58,7 @@ class TestDocumentPageApproval(common.TransactionCase):
('page_id', '=', page.id),
('state', '!=', 'approved')
])[0]
chreq.page_approval_approved()
chreq.action_approve()
self.assertEqual(page.content, 'New content')
def test_change_request_auto_approve(self):
@@ -74,7 +74,7 @@ class TestDocumentPageApproval(common.TransactionCase):
self.history_obj.search([
('page_id', '=', page.id),
('state', '!=', 'approved')
]).page_approval_approved()
]).action_approve()
# new change request from scrath
chreq = self.history_obj.create({
@@ -88,25 +88,25 @@ class TestDocumentPageApproval(common.TransactionCase):
self.assertNotEqual(page.approved_date, chreq.approved_date)
self.assertNotEqual(page.approved_uid, chreq.approved_uid)
chreq.page_approval_to_approve()
chreq.action_to_approve()
self.assertEqual(chreq.state, 'to approve')
self.assertNotEqual(page.content, chreq.content)
self.assertNotEqual(page.approved_date, chreq.approved_date)
self.assertNotEqual(page.approved_uid, chreq.approved_uid)
chreq.page_approval_cancelled()
chreq.action_cancel()
self.assertEqual(chreq.state, 'cancelled')
self.assertNotEqual(page.content, chreq.content)
self.assertNotEqual(page.approved_date, chreq.approved_date)
self.assertNotEqual(page.approved_uid, chreq.approved_uid)
chreq.page_approval_draft()
chreq.action_draft()
self.assertEqual(chreq.state, 'draft')
self.assertNotEqual(page.content, chreq.content)
self.assertNotEqual(page.approved_date, chreq.approved_date)
self.assertNotEqual(page.approved_uid, chreq.approved_uid)
chreq.page_approval_approved()
chreq.action_approve()
self.assertEqual(chreq.state, 'approved')
self.assertEqual(page.content, chreq.content)
self.assertEqual(page.approved_date, chreq.approved_date)