diff --git a/sms_send_picking/__init__.py b/sms_send_picking/__init__.py new file mode 100644 index 0000000..12bab77 --- /dev/null +++ b/sms_send_picking/__init__.py @@ -0,0 +1 @@ +from . import stock diff --git a/sms_send_picking/__openerp__.py b/sms_send_picking/__openerp__.py new file mode 100644 index 0000000..2f8b8bd --- /dev/null +++ b/sms_send_picking/__openerp__.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Module for Odoo +# Copyright (C) 2015 Akretion (http://www.akretion.com). +# @author Valentin CHEMIERE +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################### + +{'name': 'Sms Send Picking', + 'version': '0.0.1', + 'author': 'Akretion', + 'website': 'www.akretion.com', + 'license': 'AGPL-3', + 'category': 'Generic Modules', + 'description': """ + Automatic sms sending when a delivery is ready to transfert + """, + 'depends': [ + 'stock', + 'smsclient_core', + ], + 'data': [ + 'cron.xml' + ], + 'installable': True, + 'application': False, +} + + + + diff --git a/sms_send_picking/cron.xml b/sms_send_picking/cron.xml new file mode 100644 index 0000000..5e649ca --- /dev/null +++ b/sms_send_picking/cron.xml @@ -0,0 +1,15 @@ + + + + + Auto Send SMS Picking Ready + 5 + minutes + -1 + + + + + + + diff --git a/sms_send_picking/stock.py b/sms_send_picking/stock.py new file mode 100644 index 0000000..3022140 --- /dev/null +++ b/sms_send_picking/stock.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +############################################################################### +# +# Module for Odoo +# Copyright (C) 2015 Akretion (http://www.akretion.com). +# @author Valentin CHEMIERE +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################### + +from openerp import api, models, fields + + +class StockPicking(models.Model): + _inherit = 'stock.picking' + + sms_sent = fields.Boolean() + + @api.model + def _send_sms(self): + sms_sender_obj = self.env['partner.sms.send'] + gateways = self.env['sms.smsclient'].search([('default_gateway', '=', True)]) + gateway = gateways[0] + pickings = self.env['stock.picking'].search([('state', '=', 'assigned'), + ('sms_sent', '=', False), + ('picking_type_id.code', '=', 'outgoing') + ]) + for pick in pickings: + data = { + 'gateway': gateway.id, + 'text': 'Your picking %s is ready to transfert' % pick.name, + 'mobile_to': pick.partner_id.phone, + } + sms_sender = sms_sender_obj.create(data) + sms_sender.sms_send() + pick.sms_sent = True + + @api.one + def copy(self, default=None): + if default is None: + default = {} + default['sms_sent'] = False + return super(StockPicking, self).copy(default=default)