22
22
from datetime import datetime
23
23
from openerp .tools .translate import _
24
24
from openerp .tools import DEFAULT_SERVER_DATETIME_FORMAT
25
- from openerp import models , fields , SUPERUSER_ID
25
+ from openerp import models , fields , api
26
26
27
27
28
28
class DocumentPageHistoryWorkflow (models .Model ):
29
29
"""Useful to manage edition's workflow on a document."""
30
30
31
31
_inherit = 'document.page.history'
32
32
33
+ @api .multi
33
34
def page_approval_draft (self ):
34
35
"""Set a document state as draft and notified the reviewers."""
35
36
self .write ({'state' : 'draft' })
36
- template_id = self .pool .get ('ir.model.data' ).get_object_reference (
37
- self .env .cr , self .env .uid ,
38
- 'document_page_approval' ,
39
- 'email_template_new_draft_need_approval' )[1 ]
37
+ template = self .env .ref (
38
+ 'document_page_approval.email_template_new_draft_need_approval' )
40
39
for page in self :
41
40
if page .is_parent_approval_required :
42
- self .pool .get ('mail.template' ).send_mail (
43
- self .env .cr , self .env .uid ,
44
- template_id ,
45
- page .id ,
46
- force_send = True
47
- )
41
+ template .send_mail (page .id , force_send = True )
48
42
return True
49
43
44
+ @api .multi
50
45
def page_approval_approved (self ):
51
46
"""Set a document state as approve."""
52
- model_data_obj = self .pool .get ('ir.model.data' )
53
- message_obj = self .pool .get ('mail.message' )
47
+ message_obj = self .env ['mail.message' ]
54
48
self .write ({
55
49
'state' : 'approved' ,
56
50
'approved_date' : datetime .now ().strftime (
@@ -59,19 +53,18 @@ def page_approval_approved(self):
59
53
})
60
54
# Notify followers a new version is available
61
55
for page_history in self :
62
- subtype_id = model_data_obj .get_object_reference (
63
- self .env .cr , SUPERUSER_ID , 'mail' , 'mt_comment' )[1 ]
56
+ subtype = self .env .ref ('mail.mt_comment' )
64
57
message_obj .create (
65
- self .env .cr , self .env .uid ,
66
58
{'res_id' : page_history .page_id .id ,
67
59
'model' : 'document.page' ,
68
- 'subtype_id' : subtype_id ,
60
+ 'subtype_id' : subtype . id ,
69
61
'body' : _ ('New version of the document %s'
70
62
' approved.' ) % page_history .page_id .name
71
63
}
72
64
)
73
65
return True
74
66
67
+ @api .multi
75
68
def _can_user_approve_page (self ):
76
69
"""Check if a user cas approve the page."""
77
70
user = self .env .user
@@ -90,6 +83,7 @@ def can_user_approve_this_page(self, page, user):
90
83
res = False
91
84
return res
92
85
86
+ @api .multi
93
87
def get_approvers_guids (self ):
94
88
"""Return the approvers group."""
95
89
res = {}
@@ -110,6 +104,7 @@ def get_approvers_guids_for_page(self, page):
110
104
111
105
return res
112
106
107
+ @api .multi
113
108
def _get_approvers_email (self ):
114
109
"""Get the approvers email."""
115
110
for page in self :
@@ -134,6 +129,7 @@ def _get_approvers_email(self):
134
129
135
130
page .get_approvers_email = emails [:- 1 ]
136
131
132
+ @api .multi
137
133
def _get_page_url (self ):
138
134
"""Get the page url."""
139
135
for page in self :
0 commit comments