mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-14 09:51:27 -06:00
[MIG] document_page_approval: Finish migration
Changes done: - Squash administrative commits - Purge translations - Remove ir.model.access.csv file - Improve tests (change to setUpClass) - Replace name_get() to _compute_display_name() (document_page) - Remove readonly=1 (redudant, it already is) defined in approved_uid and approved_date fields in views - Restore readonly=1 to the state field - Remove duplicate Back to draft button TT51529
This commit is contained in:
parent
a4972a014d
commit
f606356ca0
@ -13,7 +13,6 @@
|
|||||||
"data/email_template.xml",
|
"data/email_template.xml",
|
||||||
"views/document_page_approval.xml",
|
"views/document_page_approval.xml",
|
||||||
"security/document_page_security.xml",
|
"security/document_page_security.xml",
|
||||||
"security/ir.model.access.csv",
|
|
||||||
],
|
],
|
||||||
"images": [
|
"images": [
|
||||||
"images/category.png",
|
"images/category.png",
|
||||||
|
@ -433,9 +433,3 @@ msgstr ""
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "You need to cancel it before reopening."
|
msgid "You need to cancel it before reopening."
|
||||||
msgstr "Necesita cancelarlo antes de volver a abrirlo."
|
msgstr "Necesita cancelarlo antes de volver a abrirlo."
|
||||||
|
|
||||||
#~ msgid "SMS Delivery error"
|
|
||||||
#~ msgstr "Error de entrega de SMS"
|
|
||||||
|
|
||||||
#~ msgid "Number of messages which requires an action"
|
|
||||||
#~ msgstr "Número de mensajes que requieren una acción"
|
|
||||||
|
@ -407,75 +407,3 @@ msgstr ""
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "You need to cancel it before reopening."
|
msgid "You need to cancel it before reopening."
|
||||||
msgstr "Morate otkazati prije ponovnog otvaranja."
|
msgstr "Morate otkazati prije ponovnog otvaranja."
|
||||||
|
|
||||||
#~ msgid "SMS Delivery error"
|
|
||||||
#~ msgstr "Greška pri isporuci SMSa"
|
|
||||||
|
|
||||||
#~ msgid "Number of messages which requires an action"
|
|
||||||
#~ msgstr "Broj poruka koje trebaju neku radnju"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Hello,</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} submited a new Change Request for <b>"
|
|
||||||
#~ "${object.page_id.name}</b> and it needs your approval.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Modified by:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Date:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Summary</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Diff</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Have a great day.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Pozdrav,</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} je podnio novi zahtjev za izmjenom <b>"
|
|
||||||
#~ "${object.page_id.name}</b> i potrebno je vaše odobrenje.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Uredio:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Datum:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Sažetak</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Razlika</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Ugodan dan.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
|
|
||||||
#~ msgid "New version of ${object.display_name} needs your approval"
|
|
||||||
#~ msgstr "Nova verzija ${object.display_name} traži vaše odobrenje"
|
|
||||||
|
@ -437,80 +437,3 @@ msgstr ""
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "You need to cancel it before reopening."
|
msgid "You need to cancel it before reopening."
|
||||||
msgstr "Devi cancellarlo prima di riaprirlo."
|
msgstr "Devi cancellarlo prima di riaprirlo."
|
||||||
|
|
||||||
#~ msgid "SMS Delivery error"
|
|
||||||
#~ msgstr "Errore consegna SMS"
|
|
||||||
|
|
||||||
#~ msgid "Number of messages which requires an action"
|
|
||||||
#~ msgstr "Numero di messaggi che richiedono un'azione"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Hello,</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} submited a new Change Request for <b>"
|
|
||||||
#~ "${object.page_id.name}</b> and it needs your approval.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Modified by:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Date:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Summary</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Diff</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Have a great day.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Ciao,</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} ha aggiunto una Richiesta di Modifica per <b>"
|
|
||||||
#~ "${object.page_id.name}</b> e necessita la tua approvazione.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Modicato da:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Data:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Riepilogo</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Differenze</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Buona giornata!</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
|
|
||||||
#~ msgid "New version of ${object.display_name} needs your approval"
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "La nuova versione di ${object.display_name} richiede la tua approvazione"
|
|
||||||
|
|
||||||
#, python-format
|
|
||||||
#~ msgid "Change request <b>%s</b> has been cancelled by %s."
|
|
||||||
#~ msgstr "La richiesta di modifica <b>%s</b> è stata annullata da %s."
|
|
||||||
|
@ -409,73 +409,3 @@ msgstr ""
|
|||||||
#, python-format
|
#, python-format
|
||||||
msgid "You need to cancel it before reopening."
|
msgid "You need to cancel it before reopening."
|
||||||
msgstr "Pred ponovnim odprtjem jo morate preklicati."
|
msgstr "Pred ponovnim odprtjem jo morate preklicati."
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Hello,</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} submited a new Change Request for <b>"
|
|
||||||
#~ "${object.page_id.name}</b> and it needs your approval.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Modified by:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Date:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Summary</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Diff</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Have a great day.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ "<p>Pozdravljeni.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>${object.create_uid.name} je vložil novo zahtevo po spremembi za <b>"
|
|
||||||
#~ "${object.page_id.name}</b> , ki jo morate odobriti.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h1><a href=\"${object.page_url}\">${object.display_name}</a></h1>\n"
|
|
||||||
#~ "<p>\n"
|
|
||||||
#~ "<b>Spremenil:</b> ${object.create_uid.name}<br/>\n"
|
|
||||||
#~ "<b>Datum:</b> ${object.create_date}<br>\n"
|
|
||||||
#~ "</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "% if object.summary:\n"
|
|
||||||
#~ "<h3>Povzetek</h3>\n"
|
|
||||||
#~ "<p>${object.summary}</p>\n"
|
|
||||||
#~ "% endif\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<h3>Razlika</h3>\n"
|
|
||||||
#~ "<div style=\"overflow-x:scroll; font-size:0.85em; margin-bottom:2em;\">\n"
|
|
||||||
#~ "${object.diff|safe}\n"
|
|
||||||
#~ "</div>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Lep pozdrav.</p>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "--<br/>\n"
|
|
||||||
#~ "\n"
|
|
||||||
#~ "<p>Odoo</p>\n"
|
|
||||||
#~ " \n"
|
|
||||||
#~ " "
|
|
||||||
|
|
||||||
#~ msgid "New version of ${object.display_name} needs your approval"
|
|
||||||
#~ msgstr "Nova verzija ${object.display_name} potrebuje vašo odobritev"
|
|
||||||
|
|
||||||
#, python-format
|
|
||||||
#~ msgid "Change request <b>%s</b> has been cancelled by %s."
|
|
||||||
#~ msgstr "Zahtevo po spremembi <b>%s</b> je preklical %s."
|
|
||||||
|
@ -2,9 +2,8 @@
|
|||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
|
||||||
from ast import literal_eval
|
|
||||||
|
|
||||||
from odoo import api, fields, models
|
from odoo import api, fields, models
|
||||||
|
from odoo.tools.safe_eval import safe_eval
|
||||||
|
|
||||||
|
|
||||||
class DocumentPage(models.Model):
|
class DocumentPage(models.Model):
|
||||||
@ -138,7 +137,7 @@ class DocumentPage(models.Model):
|
|||||||
action = self.env["ir.actions.act_window"]._for_xml_id(
|
action = self.env["ir.actions.act_window"]._for_xml_id(
|
||||||
"document_page_approval.action_change_requests"
|
"document_page_approval.action_change_requests"
|
||||||
)
|
)
|
||||||
context = literal_eval(action["context"])
|
context = safe_eval(action["context"])
|
||||||
context["search_default_page_id"] = self.id
|
context["search_default_page_id"] = self.id
|
||||||
context["default_page_id"] = self.id
|
context["default_page_id"] = self.id
|
||||||
action["context"] = context
|
action["context"] = context
|
||||||
|
@ -22,6 +22,7 @@ class DocumentPageHistory(models.Model):
|
|||||||
],
|
],
|
||||||
"Status",
|
"Status",
|
||||||
default="draft",
|
default="draft",
|
||||||
|
readonly=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
approved_date = fields.Datetime()
|
approved_date = fields.Datetime()
|
||||||
|
@ -1 +0,0 @@
|
|||||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|
|
@ -1,43 +1,38 @@
|
|||||||
from odoo.tests import common
|
from odoo.tests import new_test_user
|
||||||
|
|
||||||
|
from odoo.addons.base.tests.common import BaseCommon
|
||||||
|
|
||||||
|
|
||||||
class TestDocumentPageApproval(common.TransactionCase):
|
class TestDocumentPageApproval(BaseCommon):
|
||||||
def setUp(self):
|
@classmethod
|
||||||
super().setUp()
|
def setUpClass(cls):
|
||||||
self.page_obj = self.env["document.page"]
|
super().setUpClass()
|
||||||
self.history_obj = self.env["document.page.history"]
|
cls.page_obj = cls.env["document.page"]
|
||||||
|
cls.history_obj = cls.env["document.page.history"]
|
||||||
# demo
|
# demo
|
||||||
self.category1 = self.env.ref("document_page.demo_category1")
|
cls.category1 = cls.env.ref("document_page.demo_category1")
|
||||||
self.page1 = self.env.ref("document_page.demo_page1")
|
cls.page1 = cls.env.ref("document_page.demo_page1")
|
||||||
self.approver_gid = self.env.ref(
|
cls.user2 = new_test_user(
|
||||||
|
cls.env,
|
||||||
|
login="test-user2",
|
||||||
|
groups="base.group_user,document_page_approval.group_document_approver_user",
|
||||||
|
)
|
||||||
|
cls.approver_gid = cls.env.ref(
|
||||||
"document_page_approval.group_document_approver_user"
|
"document_page_approval.group_document_approver_user"
|
||||||
)
|
)
|
||||||
self.env.ref("base.user_root").write({"groups_id": [(4, self.approver_gid.id)]})
|
|
||||||
self.env.ref("base.user_admin").write(
|
|
||||||
{"groups_id": [(4, self.approver_gid.id)]}
|
|
||||||
)
|
|
||||||
self.user2 = self.env["res.users"].create(
|
|
||||||
{
|
|
||||||
"name": "Test user 2",
|
|
||||||
"login": "Test user 2",
|
|
||||||
"groups_id": [
|
|
||||||
(6, 0, [self.env.ref("base.group_user").id, self.approver_gid.id])
|
|
||||||
],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
# demo_approval
|
# demo_approval
|
||||||
self.category2 = self.page_obj.create(
|
cls.category2 = cls.page_obj.create(
|
||||||
{
|
{
|
||||||
"name": "This category requires approval",
|
"name": "This category requires approval",
|
||||||
"type": "category",
|
"type": "category",
|
||||||
"approval_required": True,
|
"approval_required": True,
|
||||||
"approver_gid": self.approver_gid.id,
|
"approver_gid": cls.approver_gid.id,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
self.page2 = self.page_obj.create(
|
cls.page2 = cls.page_obj.create(
|
||||||
{
|
{
|
||||||
"name": "This page requires approval",
|
"name": "This page requires approval",
|
||||||
"parent_id": self.category2.id,
|
"parent_id": cls.category2.id,
|
||||||
"content": "This content will require approval",
|
"content": "This content will require approval",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -44,21 +44,13 @@
|
|||||||
name="action_draft"
|
name="action_draft"
|
||||||
type="object"
|
type="object"
|
||||||
string="Back to draft"
|
string="Back to draft"
|
||||||
invisible="(not am_i_owner or not am_i_approver) and (state != 'cancelled')"
|
invisible="(not am_i_owner or not am_i_approver) and (state not in ('cancelled', 'to approve'))"
|
||||||
/>
|
|
||||||
<!-- cancel & reopen, if i am owner or approver -->
|
|
||||||
<button
|
|
||||||
name="action_draft"
|
|
||||||
type="object"
|
|
||||||
string="Back to draft"
|
|
||||||
invisible="(not am_i_owner or not am_i_approver) and (state != 'to approve')"
|
|
||||||
/>
|
/>
|
||||||
<field name="am_i_owner" invisible="1" />
|
<field name="am_i_owner" invisible="1" />
|
||||||
<field name="am_i_approver" invisible="1" />
|
<field name="am_i_approver" invisible="1" />
|
||||||
<field name="is_approval_required" invisible="1" />
|
<field name="is_approval_required" invisible="1" />
|
||||||
<field
|
<field
|
||||||
name="state"
|
name="state"
|
||||||
readonly="1"
|
|
||||||
widget="statusbar"
|
widget="statusbar"
|
||||||
statusbar_visible="draft,approved"
|
statusbar_visible="draft,approved"
|
||||||
/>
|
/>
|
||||||
@ -176,21 +168,21 @@
|
|||||||
/>
|
/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<field name="content_uid" position="after">
|
<field name="content_uid" position="after">
|
||||||
<field name="approved_uid" readonly="1" />
|
<field name="approved_uid" />
|
||||||
</field>
|
</field>
|
||||||
<field name="content_date" position="attributes">
|
<field name="content_date" position="attributes">
|
||||||
<attribute name="invisible">1</attribute>
|
<attribute name="invisible">1</attribute>
|
||||||
</field>
|
</field>
|
||||||
<field name="content_date" position="after">
|
<field name="content_date" position="after">
|
||||||
<field name="approved_date" readonly="1" />
|
<field name="approved_date" />
|
||||||
</field>
|
</field>
|
||||||
<field name="history_ids" position="inside">
|
<field name="history_ids" position="inside">
|
||||||
<tree>
|
<tree>
|
||||||
<field name="id" />
|
<field name="id" />
|
||||||
<field name="approved_date" readonly="1" />
|
<field name="approved_date" />
|
||||||
<field name="summary" />
|
<field name="summary" />
|
||||||
<field name="create_uid" />
|
<field name="create_uid" />
|
||||||
<field name="approved_uid" readonly="1" />
|
<field name="approved_uid" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
@ -203,8 +195,8 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="content" position="before">
|
<field name="content" position="before">
|
||||||
<group class="oe_read_only" invisible="type != 'content'">
|
<group class="oe_read_only" invisible="type != 'content'">
|
||||||
<field name="approved_date" readonly="1" />
|
<field name="approved_date" />
|
||||||
<field name="approved_uid" readonly="1" />
|
<field name="approved_uid" />
|
||||||
</group>
|
</group>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
@ -237,9 +229,9 @@
|
|||||||
<attribute name="decoration-muted">state=='cancelled'</attribute>
|
<attribute name="decoration-muted">state=='cancelled'</attribute>
|
||||||
</tree>
|
</tree>
|
||||||
<tree position="inside">
|
<tree position="inside">
|
||||||
<field name="state" readonly="1" />
|
<field name="state" />
|
||||||
<field name="approved_uid" readonly="1" />
|
<field name="approved_uid" />
|
||||||
<field name="approved_date" readonly="1" />
|
<field name="approved_date" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
@ -250,7 +242,7 @@
|
|||||||
<field name="inherit_id" ref="document_page.view_wiki_history_filter" />
|
<field name="inherit_id" ref="document_page.view_wiki_history_filter" />
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="page_id" position="before">
|
<field name="page_id" position="before">
|
||||||
<field name="state" readonly="1" />
|
<field name="state" />
|
||||||
</field>
|
</field>
|
||||||
<field name="create_uid" position="after">
|
<field name="create_uid" position="after">
|
||||||
<filter name="draft" string="Draft" domain="[('state','=','draft')]" />
|
<filter name="draft" string="Draft" domain="[('state','=','draft')]" />
|
||||||
|
Loading…
Reference in New Issue
Block a user