Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
6 Відповіді
10195 Переглядів

We use only CRM modules in OpenERP

I want use all emails in OpenERP internally only, without mails sent to our customers.

How can I do it?

I can't trust in my users to manually check off the checkboxes when they send messages from lead/opportunities. It is by default checked.

Any idea?

Аватар
Відмінити

Hi, I know this is and old question, but I found it while googling for another issue. I think the best way to avoid this will be to just disable the email suggestion (Not actually disable, but avoid adding clients as suggested recipients). To do this, you have to overwrite the function message_get_suggested_recipients. The function is defined in the mail_thread class, but the later is supposed to be inherited for other classes (in the case of the question, crm_lead) so you can just overwrite there. The function returns a dictionary like: return {: [(,,)]} so you can just do something like: def message_get_suggested_recipients(self, cr, uid, ids, context=None): ret = dict(((x,[]) for x in ids)) return ret And this way you will just avoid adding suggested recipients as actual recipients. Obviously, this wont avoid someone manually adding a client as recipient, but it will have to be intentionally. Hope it helps!

Sorry to put this as a comment, but I was not able to post an answer nor "Conver as an anwer" I was getting, 403 Forbidden.

Найкраща відповідь

I use a custom js script that unchecked the boxes. I've change the on_toggle_quick_composer function of ThreadComposeMessage Class of mail module :

    /*---------------------------------------------------------
     * OpenERP checkboxes décochées par défaut dans le fil de discussion.
     *---------------------------------------------------------*/
openerp.paramJuliana = function(instance){
    var module2 = instance.mail // loading the namespace of the 'sample' module

    module2.ThreadComposeMessage.include({
        on_toggle_quick_composer: function (event) {
            var self = this;
            var $input = $(event.target);
            this.compute_emails_from();
            var email_addresses = _.pluck(this.recipients, 'email_address');

            var suggested_partners = $.Deferred();

            // if clicked: call for suggested recipients
            if (event.type == 'click') {
                this.is_log = $input.hasClass('oe_compose_log');
                suggested_partners = this.parent_thread.ds_thread.call('message_get_suggested_recipients', [[this.context.default_res_id]]).done(function (additional_recipients) {
                    var thread_recipients = additional_recipients[self.context.default_res_id];
                    _.each(thread_recipients, function (recipient) {
                        var parsed_email = module2.ChatterUtils.parse_email(recipient[1]);
                        if (_.indexOf(email_addresses, parsed_email[1]) == -1) {
                            self.recipients.push({
                                'checked': false,
                                'partner_id': recipient[0],
                                'full_name': recipient[1],
                                'name': parsed_email[0],
                                'email_address': parsed_email[1],
                                'reason': recipient[2],
                            })
                        }
                    });
                });
            }
            else {
                suggested_partners.resolve({});
            }

            // when call for suggested partners finished: re-render the widget
            $.when(suggested_partners).pipe(function (additional_recipients) {
                if ((!self.stay_open || (event && event.type == 'click')) && (!self.show_composer || !self.$('textarea:not(.oe_compact)').val().match(/\S+/) && !self.attachment_ids.length)) {
                    self.show_composer = !self.show_composer || self.stay_open;
                    self.reinit();
                }
                if (!self.stay_open && self.show_composer && (!event || event.type != 'blur')) {
                    self.$('textarea:not(.oe_compact):first').focus();
                }
            });

            return suggested_partners;
        },
    });

};

And I set the email @ in font bold and red by changing the template of .oe_recipients label CSS class

Аватар
Відмінити
Найкраща відповідь

This is exactly what I need to do since it is very dangerous and easy to send internal conversations to potential customers in the middle of a negotiation. I need to disable this checkbox and change the default status to uncheked. Can someone please help by pointing me the steps or the path to edit this file? I am new to OpenERP.

Аватар
Відмінити
Найкраща відповідь

You could delete the outgoing mail server. That way the system won't send any mails. And then just use the messaging inside OERP for the users internally.

Аватар
Відмінити
Автор

But then I'll lost the capability of send mails to my users or between them too.

Найкраща відповідь

Take the latest revision, it has a "Log a note" feature instead of the "Send a message" one.

Аватар
Відмінити
Автор

Thank you. I see that, but I'm looking for a way to disable the "Send a message" button.

Could you please explain how this disables email sending globally, thanks.

Найкраща відповідь

@Fabien Pinckaers

This is a serious issue that we are also facing, Please provide us a better solution for this, as sending a notification to our real customers for each and every internal conversation between our employs(openerp users).

Аватар
Відмінити

Hi, I know this is and old question, but I found it while googling for another issue. I think the best way to avoid this will be to just disable the email suggestion (Not actually disable, but avoid adding clients as suggested recipients). To do this, you have to overwrite the function message_get_suggested_recipients. The function is defined in the mail_thread class, but the later is supposed to be inherited for other classes (in the case of the question, crm_lead) so you can just overwrite there. The function returns a dictionary like: return {: [(,,)]} so you can just do something like: def message_get_suggested_recipients(self, cr, uid, ids, context=None): ret = dict(((x,[]) for x in ids)) return ret And this way you will just avoid adding suggested recipients as actual recipients. Obviously, this wont avoid someone manually adding a client as recipient, but it will have to be intentionally. Hope it helps!

Related Posts Відповіді Переглядів Дія
2
лист. 23
7216
9
груд. 22
24058
2
бер. 15
6245
1
бер. 15
7509
4
лип. 25
6739