[2.0][ADD] Toggle suggested recipient

This commit is contained in:
Rohit Prajapati authored and Parthiv Patel committed 2023-05-16 05:35:51 +00:00
1 parent 94a9870603
commit 08ebe93197
7 files changed
+79 -6

No files matched your search

@@ -11,5 +11,10 @@
<field name="value">Yjg3ZDEwNmUtMmMwMC00OGFjLWJjZWUtMDYwMTcwY2Y4YzNm</field>
</record>
<record model="ir.config_parameter" id="web_flectra_allow_suggested_recipient_data" forcecreate="0">
<field name="key">web_flectra.allow_suggested_recipient</field>
<field name="value">True</field>
</record>
</data>
</flectra>
+1
View File
@@ -5,3 +5,4 @@ from . import res_company
from . import res_users
from . import scss_editor
from . import res_partner
from . import res_config
+18
View File
@@ -0,0 +1,18 @@
from flectra import models, fields
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
allow_suggested_recipient = fields.Boolean(string='Allow Suggested Recipient',
config_parameter='web_flectra.allow_suggested_recipient')
class IrHttp(models.AbstractModel):
_inherit = 'ir.http'
def session_info(self):
res = super(IrHttp, self).session_info()
res['allow_suggested_recipient'] = self.env['ir.config_parameter'].sudo().\
get_param('web_flectra.allow_suggested_recipient')
return res
@@ -0,0 +1,22 @@
flectra.define('web_flectra/static/src/components/composer_suggested_recipient.js', function (require) {
'use strict';
const ComposerSuggestedRecipient = require('mail/static/src/components/composer_suggested_recipient/composer_suggested_recipient.js');
const ComposerSuggestedRecipientList = require('mail/static/src/components/composer_suggested_recipient_list/composer_suggested_recipient_list.js');
const session = require('web.session');
class WebComposerSuggestedRecipient extends ComposerSuggestedRecipient{
get suggestedRecipientInfo() {
if(session.allow_suggested_recipient){
return super.suggestedRecipientInfo;
} else {
return false;
}
}
}
ComposerSuggestedRecipientList.components = {
...ComposerSuggestedRecipientList.components,
ComposerSuggestedRecipient: WebComposerSuggestedRecipient
}
});
@@ -0,0 +1,17 @@
flectra.define('web_flectra/static/src/components/thread.js', function (require) {
'use strict';
const { registerInstancePatchModel } = require('mail/static/src/model/model_core.js');
const session = require('web.session');
registerInstancePatchModel('mail.composer', 'web_flectra/static/src/components/thread.js', {
_computeRecipients() {
if(session.allow_suggested_recipient){
return this._super(...arguments);
} else {
const recipients = [...this.mentionedPartners];
return [['replace', recipients]];
}
}
});
});
+2
View File
@@ -38,6 +38,8 @@
<link rel="stylesheet" type="text/scss" href='/web_flectra/static/src/scss/kanban_view_mobile.scss' />
<link rel="stylesheet" type="text/scss" href='/web_flectra/static/src/scss/search_view_mobile.scss' />
<script type="text/javascript" src="/web_flectra/static/src/js/components/composer_suggested_recipient.js" />
<script type="text/javascript" src="/web_flectra/static/src/js/components/thread.js" />
<script type="text/javascript" src="/web_flectra/static/src/js/base64js.min.js" />
<script type="text/javascript" src="/web_flectra/static/src/js/web_client.js" />
<script type="text/javascript" src="/web_flectra/static/src/js/apps_menu.js" />
@@ -24,6 +24,20 @@
</div>
</div>
</div>
<h2>Allow Suggested Recipient</h2>
<div class='row mt16 o_settings_container' name="allow_suggested_recipient">
<div class='col-xs-12 col-md-6 o_setting_box'>
<div class="o_setting_left_pane">
<field name="allow_suggested_recipient"/>
</div>
<div class="o_setting_right_pane">
<label for="allow_suggested_recipient"/>
<div class="text-muted">
Allow Suggested Recipient In Mail Chatter
</div>
</div>
</div>
</div>
</div>
<xpath expr="//div[@id='iap_portal']" position="attributes">
<attribute name="invisible">1</attribute>
@@ -34,13 +48,7 @@
<xpath expr="//div[@id='contacts_settings']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
</flectra>