Browse Source

fixup and add auto-refresh chatter when sms sent

pull/182/head
Adrià Gil Sorribes 6 years ago
parent
commit
cc3df43a80
  1. 1
      base_sms_client/__manifest__.py
  2. 12
      base_sms_client/static/src/js/override_chatter.js
  3. 13
      base_sms_client/wizard/mass_sms.py
  4. 5
      clicksend_sms_client/__manifest__.py
  5. 4
      clicksend_sms_client/models/sms_gateway.py
  6. 1
      oca_dependencies.txt

1
base_sms_client/__manifest__.py

@ -12,6 +12,7 @@
"depends": ['mail', "depends": ['mail',
'base_phone', 'base_phone',
'keychain', 'keychain',
'bus',
], ],
'author': 'Julius Network Solutions,SYLEAM,' 'author': 'Julius Network Solutions,SYLEAM,'
'Odoo Community Association (OCA),Akretion', 'Odoo Community Association (OCA),Akretion',

12
base_sms_client/static/src/js/override_chatter.js

@ -2,6 +2,7 @@ odoo.define('mail.Chatter.sms', function (require) {
"use strict"; "use strict";
var chatter = require('mail.Chatter'); var chatter = require('mail.Chatter');
var bus = require('bus.bus').bus;
chatter.include({ chatter.include({
@ -9,6 +10,16 @@ odoo.define('mail.Chatter.sms', function (require) {
'click .o_chatter_button_send_sms': '_onSendSMS', 'click .o_chatter_button_send_sms': '_onSendSMS',
}), }),
start: function() {
this._super.apply(this, arguments);
var channel = 'wizard.mass.sms';
bus.add_channel(channel);
bus.on('notification', this, function () {
var self = this;
self.trigger_up('reload');
});
},
/** /**
* Performs the action to open the SMS window. * Performs the action to open the SMS window.
* *
@ -35,6 +46,5 @@ odoo.define('mail.Chatter.sms', function (require) {
}) })
}); });
}, },
}); });
}); });

13
base_sms_client/wizard/mass_sms.py

@ -4,7 +4,7 @@
# Copyright (C) 2015 Valentin Chemiere <valentin.chemiere@akretion.com> # Copyright (C) 2015 Valentin Chemiere <valentin.chemiere@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, fields, api
from odoo import models, fields, api, _
class WizardMassSms(models.TransientModel): class WizardMassSms(models.TransientModel):
@ -87,11 +87,16 @@ class WizardMassSms(models.TransientModel):
src_model = self.env[self._context.get('active_model')] src_model = self.env[self._context.get('active_model')]
if hasattr(src_model, 'message_follower_ids'): if hasattr(src_model, 'message_follower_ids'):
rec = src_model.browse(self._context.get('active_id')) rec = src_model.browse(self._context.get('active_id'))
rec.message_post(body=self.message)
self.env['bus.bus'].sendone(
'refresh', [self.env.cr.dbname, self._name, self._uid])
self.post_message(rec)
return {'type': 'ir.actions.act_window_close'} return {'type': 'ir.actions.act_window_close'}
def post_message(self, rec):
channel = 'wizard.mass.sms'
message = _("SMS Message (%s) sent to %s" % (
self.message, ', '.join(self.partner_ids.mapped('name'))))
rec.message_post(body=message)
self.env['bus.bus'].sendone(channel, [])
def redirect_to_sms_wizard(self, **kwargs): def redirect_to_sms_wizard(self, **kwargs):
id = kwargs.get("id") id = kwargs.get("id")
model = kwargs.get("model") model = kwargs.get("model")

5
clicksend_sms_client/__manifest__.py

@ -6,10 +6,7 @@
'name': 'ClickSend SMS Client', 'name': 'ClickSend SMS Client',
'version': '11.0.1.0.1', 'version': '11.0.1.0.1',
'license': 'AGPL-3', 'license': 'AGPL-3',
'depends': ['mail',
'base_sms_client',
'keychain',
],
'depends': ['base_sms_client'],
'author': 'Eficent,' 'author': 'Eficent,'
'Odoo Community Association (OCA)', 'Odoo Community Association (OCA)',
'website': 'https://github.com/OCA/connector-telephony', 'website': 'https://github.com/OCA/connector-telephony',

4
clicksend_sms_client/models/sms_gateway.py

@ -7,7 +7,7 @@ from odoo import api, models, fields
from ..models.keychain import CLICKSEND_KEYCHAIN_NAMESPACE from ..models.keychain import CLICKSEND_KEYCHAIN_NAMESPACE
import requests import requests
import logging import logging
from xml.etree.ElementTree import XML, fromstring, tostring
from xml.etree.ElementTree import fromstring
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
@ -42,7 +42,7 @@ class SmsSms(models.Model):
keychain_account = self.gateway_id._provider_get_provider_conf() keychain_account = self.gateway_id._provider_get_provider_conf()
params = { params = {
'username': keychain_account['login'], 'username': keychain_account['login'],
'key': keychain_account.get_password(),
'key': keychain_account._get_password(),
'senderid': self.gateway_id.from_provider, 'senderid': self.gateway_id.from_provider,
'url': self.gateway_id.url, 'url': self.gateway_id.url,
'to': self._convert_to_e164(self.mobile), 'to': self._convert_to_e164(self.mobile),

1
oca_dependencies.txt

@ -1 +1,2 @@
server-tools server-tools
server-auth
Loading…
Cancel
Save