55from frappe import _
66from frappe .desk .form .load import get_docinfo
77from frappe .query_builder import JoinType
8+ from frappe .translate import get_translated_doctypes
89
910from crm .fcrm .doctype .crm_call_log .crm_call_log import parse_call_log
1011
@@ -20,6 +21,9 @@ def get_activities(name: str):
2021
2122
2223def get_deal_activities (name : str ):
24+ if not frappe .has_permission ("CRM Deal" , "read" , name ):
25+ frappe .throw (_ ("Not permitted" ), frappe .PermissionError )
26+
2327 get_docinfo ("" , "CRM Deal" , name )
2428 docinfo = frappe .response ["docinfo" ]
2529 deal_meta = frappe .get_meta ("CRM Deal" )
@@ -98,6 +102,12 @@ def get_deal_activities(name: str):
98102 "value" : change [1 ],
99103 }
100104
105+ if data .get ("value" ) and field_option and is_translatable (field_option ):
106+ data ["value" ] = _ (data ["value" ])
107+
108+ if data .get ("old_value" ):
109+ data ["old_value" ] = _ (data ["old_value" ])
110+
101111 activity = {
102112 "activity_type" : activity_type ,
103113 "creation" : version .creation ,
@@ -165,6 +175,9 @@ def get_deal_activities(name: str):
165175
166176
167177def get_lead_activities (name : str ):
178+ if not frappe .has_permission ("CRM Lead" , "read" , name ):
179+ frappe .throw (_ ("Not permitted" ), frappe .PermissionError )
180+
168181 get_docinfo ("" , "CRM Lead" , name )
169182 docinfo = frappe .response ["docinfo" ]
170183 lead_meta = frappe .get_meta ("CRM Lead" )
@@ -230,6 +243,12 @@ def get_lead_activities(name: str):
230243 "value" : change [1 ],
231244 }
232245
246+ if data .get ("value" ) and field_option and is_translatable (field_option ):
247+ data ["value" ] = _ (data ["value" ])
248+
249+ if data .get ("old_value" ):
250+ data ["old_value" ] = _ (data ["old_value" ])
251+
233252 activity = {
234253 "activity_type" : activity_type ,
235254 "creation" : version .creation ,
@@ -498,3 +517,7 @@ def parse_attachment_log(html: str, type: str):
498517 "file_url" : a_tag ["href" ],
499518 "is_private" : is_private ,
500519 }
520+
521+
522+ def is_translatable (doctype : str ) -> bool :
523+ return doctype in get_translated_doctypes ()
0 commit comments