Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
6 Odpowiedzi
10145 Widoki

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?

Awatar
Odrzuć

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.

Najlepsza odpowiedź

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

Awatar
Odrzuć
Najlepsza odpowiedź

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.

Awatar
Odrzuć
Najlepsza odpowiedź

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.

Awatar
Odrzuć
Autor

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

Najlepsza odpowiedź

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

Awatar
Odrzuć
Autor

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.

Najlepsza odpowiedź

@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).

Awatar
Odrzuć

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!

Powiązane posty Odpowiedzi Widoki Czynność
2
lis 23
7216
9
gru 22
24000
2
mar 15
6245
1
mar 15
7482
4
lip 25
6702