mirror of
https://github.com/OCA/knowledge.git
synced 2025-07-24 17:38:42 -06:00
[IMP] - Improved views to match document_page improvements.
[IMP] - Added notification to followers when a new version is approved.
This commit is contained in:
parent
affe98c629
commit
f48c2b6bf6
@ -20,8 +20,9 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from openerp.tools.translate import _
|
||||||
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
from openerp import models, fields
|
from openerp import models, fields, SUPERUSER_ID
|
||||||
|
|
||||||
|
|
||||||
class document_page_history_wkfl(models.Model):
|
class document_page_history_wkfl(models.Model):
|
||||||
@ -45,12 +46,27 @@ class document_page_history_wkfl(models.Model):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def page_approval_approved(self, cr, uid, ids, context=None):
|
def page_approval_approved(self, cr, uid, ids, context=None):
|
||||||
|
model_data_obj = self.pool.get('ir.model.data')
|
||||||
|
message_obj = self.pool.get('mail.message')
|
||||||
self.write(cr, uid, ids, {
|
self.write(cr, uid, ids, {
|
||||||
'state': 'approved',
|
'state': 'approved',
|
||||||
'approved_date': datetime.now().strftime(
|
'approved_date': datetime.now().strftime(
|
||||||
DEFAULT_SERVER_DATETIME_FORMAT),
|
DEFAULT_SERVER_DATETIME_FORMAT),
|
||||||
'approved_uid': uid
|
'approved_uid': uid
|
||||||
}, context=context)
|
}, context=context)
|
||||||
|
# Notify followers a new version is available
|
||||||
|
for page_history in self.browse(cr, uid, ids, context=context):
|
||||||
|
subtype_id = model_data_obj.get_object_reference(
|
||||||
|
cr, SUPERUSER_ID, 'mail', 'mt_comment')[1]
|
||||||
|
message_obj.create(
|
||||||
|
cr, uid,
|
||||||
|
{'res_id': page_history.page_id.id,
|
||||||
|
'model': 'document.page',
|
||||||
|
'subtype_id': subtype_id,
|
||||||
|
'body': _('New version of the document %s'
|
||||||
|
' approved.') % page_history.page_id.name
|
||||||
|
}
|
||||||
|
)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _can_user_approve_page(self):
|
def _can_user_approve_page(self):
|
||||||
|
@ -36,18 +36,41 @@
|
|||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="display_content"
|
<field name="display_content"
|
||||||
position="before">
|
position="before">
|
||||||
<group class="oe_read_only"
|
<group class="oe_read_only">
|
||||||
attrs="{'invisible':[('type','!=','content')]}">
|
|
||||||
<field name="approved_date" />
|
<field name="approved_date" />
|
||||||
<field name="approved_uid" />
|
<field name="approved_uid" />
|
||||||
</group>
|
</group>
|
||||||
</field>
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_wiki_menu_form_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">document.page.form</field>
|
||||||
|
<field name="model">document.page</field>
|
||||||
|
<field name="inherit_id"
|
||||||
|
ref="document_page.view_wiki_menu_form" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="display_content"
|
||||||
|
position="before">
|
||||||
|
<group class="oe_read_only"
|
||||||
|
attrs="{'invisible':[('type','!=','content')]}">
|
||||||
|
<field name="approved_date" />
|
||||||
|
<field name="approved_uid" />
|
||||||
|
</group>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_category_form_inherit" model="ir.ui.view">
|
||||||
|
<field name="name">document.page.category.form</field>
|
||||||
|
<field name="model">document.page</field>
|
||||||
|
<field name="inherit_id"
|
||||||
|
ref="document_page.view_category_form" />
|
||||||
|
<field name="arch" type="xml">
|
||||||
<field name="parent_id" position="after">
|
<field name="parent_id" position="after">
|
||||||
<field name="approval_required"
|
<field name="approval_required"/>
|
||||||
attrs="{'invisible':[('type','=','content')]}"/>
|
|
||||||
<field name="approver_gid"
|
<field name="approver_gid"
|
||||||
attrs="{'invisible':['|',('type','=','content'),
|
attrs="{'invisible':[('approval_required','!=', True)], 'required':[('approval_required','=', True)]}"/>
|
||||||
('approval_required','!=', True)], 'required':[('approval_required','=', True)]}"/>
|
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
Loading…
Reference in New Issue
Block a user