From 4823d06c3f33b5e4b030a2ad8fed615582591704 Mon Sep 17 00:00:00 2001 From: Valentin Chemiere Date: Wed, 15 Mar 2017 14:35:51 +0100 Subject: [PATCH 01/24] insertion module V8 from AK --- smsclient_core/README.rst | 69 ++++ smsclient_core/__init__.py | 26 ++ smsclient_core/__openerp__.py | 43 ++ smsclient_core/i18n/ar.po | 403 +++++++++++++++++++ smsclient_core/i18n/ca.po | 410 +++++++++++++++++++ smsclient_core/i18n/de.po | 403 +++++++++++++++++++ smsclient_core/i18n/es.po | 412 ++++++++++++++++++++ smsclient_core/i18n/fr.po | 410 +++++++++++++++++++ smsclient_core/i18n/pt_BR.po | 403 +++++++++++++++++++ smsclient_core/images/client.jpeg | Bin 0 -> 44222 bytes smsclient_core/images/gateway.jpeg | Bin 0 -> 60864 bytes smsclient_core/images/gateway_access.jpeg | Bin 0 -> 56936 bytes smsclient_core/images/send_sms.jpeg | Bin 0 -> 23800 bytes smsclient_core/images/sms.jpeg | Bin 0 -> 44222 bytes smsclient_core/security/groups.xml | 8 + smsclient_core/security/ir.model.access.csv | 4 + smsclient_core/security/ir.rule.csv | 4 + smsclient_core/serveraction.py | 32 ++ smsclient_core/serveraction_view.xml | 22 ++ smsclient_core/sms_gateway.py | 266 +++++++++++++ smsclient_core/sms_gateway_data.xml | 16 + smsclient_core/sms_gateway_view.xml | 165 ++++++++ smsclient_core/smstemplate.py | 16 + smsclient_core/smstemplate_view.xml | 23 ++ smsclient_core/static/src/img/icon.png | Bin 0 -> 34736 bytes smsclient_core/wizard/__init__.py | 22 ++ smsclient_core/wizard/mass_sms.py | 97 +++++ smsclient_core/wizard/mass_sms_view.xml | 55 +++ 28 files changed, 3309 insertions(+) create mode 100644 smsclient_core/README.rst create mode 100644 smsclient_core/__init__.py create mode 100644 smsclient_core/__openerp__.py create mode 100644 smsclient_core/i18n/ar.po create mode 100644 smsclient_core/i18n/ca.po create mode 100644 smsclient_core/i18n/de.po create mode 100644 smsclient_core/i18n/es.po create mode 100644 smsclient_core/i18n/fr.po create mode 100644 smsclient_core/i18n/pt_BR.po create mode 100644 smsclient_core/images/client.jpeg create mode 100644 smsclient_core/images/gateway.jpeg create mode 100644 smsclient_core/images/gateway_access.jpeg create mode 100644 smsclient_core/images/send_sms.jpeg create mode 100644 smsclient_core/images/sms.jpeg create mode 100644 smsclient_core/security/groups.xml create mode 100644 smsclient_core/security/ir.model.access.csv create mode 100644 smsclient_core/security/ir.rule.csv create mode 100644 smsclient_core/serveraction.py create mode 100644 smsclient_core/serveraction_view.xml create mode 100644 smsclient_core/sms_gateway.py create mode 100644 smsclient_core/sms_gateway_data.xml create mode 100644 smsclient_core/sms_gateway_view.xml create mode 100644 smsclient_core/smstemplate.py create mode 100644 smsclient_core/smstemplate_view.xml create mode 100644 smsclient_core/static/src/img/icon.png create mode 100644 smsclient_core/wizard/__init__.py create mode 100644 smsclient_core/wizard/mass_sms.py create mode 100644 smsclient_core/wizard/mass_sms_view.xml diff --git a/smsclient_core/README.rst b/smsclient_core/README.rst new file mode 100644 index 0000000..5792703 --- /dev/null +++ b/smsclient_core/README.rst @@ -0,0 +1,69 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +SMS client core +=============== + +This module provides base function to send sms. It is not meant to work alone and needs a least one provider module. + +Installation +============ + +To install this module, you need to: + +* Install a provider module after + +Configuration +============= + +To configure this module, you need to: + +* Configure your provider account + +Usage +===== + +To use this module, you need to: + +* got to partner menu +* select on or multiple partner +* go to more and will found some wizards to send sms + + +Known issues / Roadmap +====================== + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + + +Credits +======= + +Contributors +------------ + +* Valentin Chemiere +* Yvan Party + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit http://odoo-community.org. + diff --git a/smsclient_core/__init__.py b/smsclient_core/__init__.py new file mode 100644 index 0000000..a761e61 --- /dev/null +++ b/smsclient_core/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). +# Copyright (C) 2013 Julius Network Solutions SARL +# +# 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 . import sms_gateway +from . import serveraction +from . import wizard +from . import smstemplate diff --git a/smsclient_core/__openerp__.py b/smsclient_core/__openerp__.py new file mode 100644 index 0000000..758bfa4 --- /dev/null +++ b/smsclient_core/__openerp__.py @@ -0,0 +1,43 @@ +# coding: utf-8 +# © 2004-2009 OpenERP SA () +# © 2011 SYLEAM () +# © 2013 Julius Network Solutions SARL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +{ + "name": "SMS Client Core", + "version": "8.0.1", + "depends": ["base", + "email_template", + 'base_phone', + 'server_environment', + ], + "author": "Julius Network Solutions,SYLEAM,OpenERP SA,Akretion," + "Odoo Community Association (OCA)", + 'images': [ + 'images/sms.jpeg', + 'images/gateway.jpeg', + 'images/gateway_access.jpeg', + 'images/client.jpeg', + 'images/send_sms.jpeg' + ], + "summary": """ +Sending SMSs very easily, individually or collectively. + + """, + "website": "http://julius.fr", + "category": "Phone", + "demo": [], + "data": [ + "security/groups.xml", + "security/ir.model.access.csv", + "security/ir.rule.csv", + "sms_gateway_view.xml", + "serveraction_view.xml", + "sms_gateway_data.xml", + "wizard/mass_sms_view.xml", + "smstemplate_view.xml" + ], + "installable": True, +} diff --git a/smsclient_core/i18n/ar.po b/smsclient_core/i18n/ar.po new file mode 100644 index 0000000..ba03c2c --- /dev/null +++ b/smsclient_core/i18n/ar.po @@ -0,0 +1,403 @@ +# Arabic translation for openerp-gateway +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2011-11-21 12:03+0000\n" +"Last-Translator: kifcaliph \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-11-22 05:44+0000\n" +"X-Generator: Launchpad (build 14299)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "المحددات" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "رسالة قصيرة (SMS)" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "خادم الـSMS" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "رسالة قصيرة (SMS)" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "تم الإرسال" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "الوصف" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "الصلاحية" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "" + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "" + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "" diff --git a/smsclient_core/i18n/ca.po b/smsclient_core/i18n/ca.po new file mode 100644 index 0000000..abc6996 --- /dev/null +++ b/smsclient_core/i18n/ca.po @@ -0,0 +1,410 @@ +# Catalan translation for openerp-gateway +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2012-02-25 17:41+0000\n" +"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " +"\n" +"Language-Team: Catalan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-02-26 05:17+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "Mètode SMPP" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "Paràmetres" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "URL de la passarel·la" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "SMS" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "Servidor SMS" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "Text del SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "La passarel·la ja està verificada!" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "Petició SMS" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "Envia codi" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "Valor propietat" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "Missatge SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "No verificat" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "Si el paràmetre es refereix a un valor a substituir, indiqueu-lo." + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "Enviat" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" +"Introduïu el codi de verificació que heu rebut en el vostre SMS de " +"verificació." + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "Client SMS" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "Envia codi de verificació" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "Descripció" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "Permís" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "Valor associat a la propietat per la URL." + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "Codi de verificació" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "Ha fallat la verificació. Comproveu la configuració del servidor!" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "Aquest mètode no està implementat (%s)" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "Introduïu el Nº de móbil a on voleu rebre el codi de verificació." + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "SMS enviat" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "Nº recepció" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "Data" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "Esperant verificació" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "Propietats client SMS" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "Contrasenya" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "Usuaris permesos" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "Nom de la propietat que apareix a la URL." + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "Usuari" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "Nom d'usuari" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "Cua de missatges" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "Historial de la passarel·la" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "ir.accions.servidor" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" +"Seleccioneu la configuració de la passarel·la SMS que s'utilitzarà amb " +"aquesta acció." + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "" +"El text del missatge que serà enviat junt amb l'Email que és enviat " +"mitjançant aquest servidor." + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "Cancel·la" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "Permís d'accés" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "URL base pel missatge" + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "Núm. mòbil" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "Error" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "Historial SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "Ha fallat la verificació. Codi de verificació invàlid!" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "En cua" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "Llista passarel·la" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "Historial" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "Mètode API" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "Estat passarel·la" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "Error dels permisos!" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "Verifica codi" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "Nom del remitent" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "Paràmetres passarel·la" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "En espera" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "General" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "Mètode HTTP" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "Verifica passarel·la SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "Historial client SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "Cua SMS" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "No teniu permisos per accedir %s " + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "Historial passarel·la SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "Verificat" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "Nom passarel·la" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "Últim error" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "Missatge" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "Estat del missatge" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "Nom de la propietat" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "Passarel·la SMS" diff --git a/smsclient_core/i18n/de.po b/smsclient_core/i18n/de.po new file mode 100644 index 0000000..20843b4 --- /dev/null +++ b/smsclient_core/i18n/de.po @@ -0,0 +1,403 @@ +# German translation for openerp-gateway +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2012-01-01 14:14+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-01-02 05:19+0000\n" +"X-Generator: Launchpad (build 14560)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "" + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "" + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "" diff --git a/smsclient_core/i18n/es.po b/smsclient_core/i18n/es.po new file mode 100644 index 0000000..edb2d4a --- /dev/null +++ b/smsclient_core/i18n/es.po @@ -0,0 +1,412 @@ +# Spanish translation for openerp-gateway +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2012-02-25 17:40+0000\n" +"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " +"\n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-02-26 05:17+0000\n" +"X-Generator: Launchpad (build 14860)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "Método SMPP" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "Parámetros" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "URL de la pasarela" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "SMS" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "Servidor SMS" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "Texto SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "¡La pasarela ya está verificada!" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "Petición SMS" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "Enviar código" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "Valor propiedad" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "Mensaje SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "No verificado" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "Si el parámetro se refiere a un valor a sustituir, indíquelo." + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "Enviado" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" +"Introduzca el código de verificación que ha recibido en su SMS de " +"verificación." + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "Cliente SMS" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "Enviar código de verificación" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "Descripción" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "Permiso" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "Valor asociado a la propieda para la URL." + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "Código de verificación" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "" +"Ha fallado la verificación. ¡Compruebe la configuración del servidor!" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "Este método no está implementado (%s)" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "" +"Introduzca el Nº de móvil en el que desea recibir el código de verificación." + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "SMS enviado" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "Nº recepción" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "Fecha" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "Esperando verificación" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "Propiedades cliente SMS" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "Contraseña" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "Usuarios permitidos" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "Nombre de la propiedad que aparece en la URL." + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "Usuario" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "Nombre de usuario" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "Cola de mensajes" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "Historial de la pasarela" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "ir.acciones.servidor" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" +"Seleccione la configuración de la pasarela SMS que se utilizará con esta " +"acción." + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "" +"El texto del mensaje que será enviado junto con el Email que es enviado " +"mediante este servidor." + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "Cancelar" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "Permiso de acceso" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "URL base para el mensaje." + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "Núm. móvil" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "Error" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "Historial SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "Ha fallado la verificación. ¡Código de verificación inválido!" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "En cola" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "Lista pasarela" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "Historial" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "Método API" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "Estado pasarela" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "¡Error de los permisos!" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "Verificar código" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "Nombre del remitente" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "Parámetros pasarela" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "En espera" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "General" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "Método HTTP" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "Verificar pasarela SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "Historial cliente SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "Cola SMS" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "No tiene permisos para acceder %s " + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "Historial pasarela SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "Verificado" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "Nombre pasarela" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "Último error" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "Mensaje" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "Estado del mensaje" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "Nombre de la propiedad" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "Pasarela SMS" diff --git a/smsclient_core/i18n/fr.po b/smsclient_core/i18n/fr.po new file mode 100644 index 0000000..b4aa009 --- /dev/null +++ b/smsclient_core/i18n/fr.po @@ -0,0 +1,410 @@ +# French translation for openerp-gateway +# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2011-09-10 12:22+0000\n" +"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \n" +"Language-Team: French \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2011-09-11 05:02+0000\n" +"X-Generator: Launchpad (build 13900)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "Methode SMPP" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "Paramètres" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "URL de la passerelle" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "SMS" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "Serveur de SMS" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "Texte du SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "Cette passerelle a déjà été vérifié" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "Requête par SMS" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "Envoyer le code" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "Valeur de la propriété" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "Message SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "Non vérifié" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "Si le paramètre concerne une valeur à substituer, indiquer le" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "Envoyer" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" +"Saisissez le code de vérification du SMS que vous avez reçu dans votre SMS " +"de vérification" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "Client SMS" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "Envoyer le code de vérification" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "Description" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "Permission" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "Valeur associé à la propriété pour l'adresse" + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "Code de vérifcation" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "" +"Échec de vérification. Merci de vérifier le serveur de configuration!" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "Cette méthode n'est pas implémentée (%s)" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "" +"Saisissez le numéro de mobile sur lequel vous souhaitez recevoir votre code " +"de vérification" + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "SMS envoyé" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "N° du destinataire" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "Date" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "En attente de vérification" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "Propriétés du client SMS" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "Mot de Passe" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "Utilisateurs autorisés" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "Nom de la propriété qui apparaîtra dans l'adresse" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "Utilisateur" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "Nom d’utilisateur" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "File d'attente des messages" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "Historique de la passerelle" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "ir.actions.server" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" +"Sélectionner la configuration de la passerelle SMS à utiliser pour cette " +"action" + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "Le message texte qui sera envoyé avec l'email envoyé par ce serveur" + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "Annuler" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "Droit d'accès" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "Adresse de base pour le message" + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "N° de portable" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "Erreur" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "Historique des SMS" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "Échec de vérification. Code de vérification non valide!" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "En file d'attente" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "Liste des passerelles" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "Historique" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "Méthode de l'API" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "État de la passerelle" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "Erreur de permission !" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "Code de vérification" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "Nom de l'expéditeur" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "Paramètres de la passerelle" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "En attente" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "Générale" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "Méthode HTTP" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "Vérification de la passerelle SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "Historique du client SMS" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "File d'attente des SMS" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "Vous n'avez pas le droit d'accès à %s " + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "Historique de la passerelle SMS" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "Vérifié" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "Nom de la passerelle" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "Dernière erreur" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "Message" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "État du message" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "Nom de la propriété" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "Passerelle SMS" diff --git a/smsclient_core/i18n/pt_BR.po b/smsclient_core/i18n/pt_BR.po new file mode 100644 index 0000000..3e8eaf1 --- /dev/null +++ b/smsclient_core/i18n/pt_BR.po @@ -0,0 +1,403 @@ +# Brazilian Portuguese translation for openerp-gateway +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-gateway package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-gateway\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2011-09-10 10:24+0000\n" +"PO-Revision-Date: 2012-04-10 12:48+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Brazilian Portuguese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-04-11 04:57+0000\n" +"X-Generator: Launchpad (build 15070)\n" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "SMPP Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,property_ids:0 +msgid "Parameters" +msgstr "" + +#. module: gateway +#: field:sms.gateway,url:0 +msgid "Gateway URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,sms:0 +msgid "SMS" +msgstr "" + +#. module: gateway +#: field:ir.actions.server,sms_server:0 +msgid "SMS Server" +msgstr "" + +#. module: gateway +#: field:sms.sms,msg:0 +msgid "SMS Text" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:43 +#, python-format +msgid "Gateway already verified!" +msgstr "" + +#. module: gateway +#: field:sms.sms,name:0 +msgid "SMS Request" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.send,init:0 +#: wizard_button:sms.gateway.code.send,init,send:0 +msgid "Send Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,value:0 +msgid "Property value" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +#: view:sms.sms:0 +msgid "SMS Message" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Not Verified" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,type:0 +msgid "If parameter concern a value to substitute, indicate it" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Sent" +msgstr "" + +#. module: gateway +#: help:sms.gateway.code.verify,init,code:0 +msgid "Enter the verification code that you get in your verification sms" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway +msgid "SMS Client" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_send_code +msgid "Send Verification Code" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,name:0 +msgid "Description" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Permission" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,value:0 +msgid "Value associate on the property for the URL" +msgstr "" + +#. module: gateway +#: field:sms.gateway,code:0 +#: wizard_field:sms.gateway.code.verify,init,code:0 +msgid "Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/sendcode.py:54 +#, python-format +msgid "Verification Failed. Please check the Server Configuration!" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#, python-format +msgid "This method is not implemented (%s)" +msgstr "" + +#. module: gateway +#: help:sms.gateway.code.send,init,smsto:0 +msgid "" +"Enter the Mobile No on which you want to receive the Verification Code" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:114 +#, python-format +msgid "SMS Sent" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Recipient No" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,date_create:0 +#: field:sms.sms,date_create:0 +msgid "Date" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Waiting for Verification" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_parms +msgid "SMS Client Properties" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Password" +msgstr "" + +#. module: gateway +#: field:sms.gateway,users_id:0 +msgid "Users Allowed" +msgstr "" + +#. module: gateway +#: help:sms.gateway.parms,name:0 +msgid "Name of the property whom appear on the URL" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "User" +msgstr "" + +#. module: gateway +#: field:sms.gateway.history,user_id:0 +msgid "Username" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_queue +#: model:ir.actions.act_window,name:gateway.action_sms.sms_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_queue +#: view:sms.sms:0 +msgid "Message Queue" +msgstr "" + +#. module: gateway +#: view:sms.gateway.history:0 +#: view:sms.sms:0 +msgid "Gateway History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_ir_actions_server +msgid "ir.actions.server" +msgstr "" + +#. module: gateway +#: help:ir.actions.server,sms_server:0 +msgid "Select the SMS Gateway configuration to use with this action" +msgstr "" + +#. module: gateway +#: help:sms.gateway,body:0 +msgid "" +"The message text that will be send along with the email which is send " +"through this server" +msgstr "" + +#. module: gateway +#: wizard_button:sms.gateway.code.send,init,end:0 +#: wizard_button:sms.gateway.code.verify,init,end:0 +msgid "Cancel" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Access Permission" +msgstr "" + +#. module: gateway +#: help:sms.gateway,url:0 +msgid "Base url for message" +msgstr "" + +#. module: gateway +#: wizard_field:sms.gateway.code.send,init,smsto:0 +#: field:sms.gateway.history,to:0 +#: field:sms.sms,mobile:0 +msgid "Mobile No" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:72 +#: code:addons/gateway/wizard/sendcode.py:54 +#: code:addons/gateway/wizard/verifycode.py:43 +#: code:addons/gateway/wizard/verifycode.py:48 +#: selection:sms.sms,state:0 +#, python-format +msgid "Error" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.act_sms_gateway_2_sms_history +msgid "SMS History" +msgstr "" + +#. module: gateway +#: code:addons/gateway/wizard/verifycode.py:48 +#, python-format +msgid "Verification failed. Invalid Verification Code!" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Queued" +msgstr "" + +#. module: gateway +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server +msgid "Gateway List" +msgstr "" + +#. module: gateway +#: field:sms.gateway,history_line:0 +msgid "History" +msgstr "" + +#. module: gateway +#: field:sms.gateway,method:0 +#: field:sms.gateway.parms,type:0 +msgid "API Method" +msgstr "" + +#. module: gateway +#: field:sms.gateway,state:0 +msgid "Gateway Status" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "Permission Error!" +msgstr "" + +#. module: gateway +#: wizard_view:sms.gateway.code.verify,init:0 +#: wizard_button:sms.gateway.code.verify,init,check:0 +msgid "Verify Code" +msgstr "" + +#. module: gateway +#: selection:sms.gateway.parms,type:0 +msgid "Sender Name" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "Gateway Parameters" +msgstr "" + +#. module: gateway +#: selection:sms.sms,state:0 +msgid "Waiting" +msgstr "" + +#. module: gateway +#: view:sms.gateway:0 +msgid "General" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,method:0 +msgid "HTTP Method" +msgstr "" + +#. module: gateway +#: model:ir.actions.wizard,name:gateway.sms_gateway_verify_code +msgid "Verify SMS Gateway" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms_gateway_history +msgid "SMS Client History" +msgstr "" + +#. module: gateway +#: model:ir.model,name:gateway.model_sms.sms +msgid "SMS Queue" +msgstr "" + +#. module: gateway +#: code:addons/gateway/gateway.py:69 +#, python-format +msgid "You have no permission to access %s " +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_history_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_sms_server_history +msgid "SMS Gateway History" +msgstr "" + +#. module: gateway +#: selection:sms.gateway,state:0 +msgid "Verified" +msgstr "" + +#. module: gateway +#: field:sms.gateway,name:0 +msgid "Gateway Name" +msgstr "" + +#. module: gateway +#: view:sms.sms:0 +#: field:sms.sms,error:0 +msgid "Last Error" +msgstr "" + +#. module: gateway +#: field:sms.gateway,body:0 +msgid "Message" +msgstr "" + +#. module: gateway +#: field:sms.sms,state:0 +msgid "Message Status" +msgstr "" + +#. module: gateway +#: field:sms.gateway.parms,name:0 +msgid "Property name" +msgstr "" + +#. module: gateway +#: model:ir.actions.act_window,name:gateway.action_sms_gateway_tree +#: model:ir.ui.menu,name:gateway.menu_gateway_administration_server +#: view:sms.gateway:0 +#: field:sms.gateway.history,gateway_id:0 +#: field:sms.gateway.parms,gateway_id:0 +#: field:sms.sms,gateway_id:0 +msgid "SMS Gateway" +msgstr "" diff --git a/smsclient_core/images/client.jpeg b/smsclient_core/images/client.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..90e71b5688130a5cab04beac94d38d7733b43e41 GIT binary patch literal 44222 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 literal 0 HcmV?d00001 diff --git a/smsclient_core/images/gateway_access.jpeg b/smsclient_core/images/gateway_access.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3a1d455d29649e0c72e38f789ef9ddb4098f1ae3 GIT binary patch literal 56936 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 z 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 + + + + SMS / User + + + diff --git a/smsclient_core/security/ir.model.access.csv b/smsclient_core/security/ir.model.access.csv new file mode 100644 index 0000000..d39af05 --- /dev/null +++ b/smsclient_core/security/ir.model.access.csv @@ -0,0 +1,4 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_sms_gateway_global","sms.gateway Global","model_sms_gateway",,1,0,0,0 +"access_sms_sms_global","sms.sms Global","model_sms_sms",,1,0,0,0 +"access_sms_sms_user","sms.sms User","model_sms_sms","group_sms_user",1,1,1,1 diff --git a/smsclient_core/security/ir.rule.csv b/smsclient_core/security/ir.rule.csv new file mode 100644 index 0000000..37fd0f3 --- /dev/null +++ b/smsclient_core/security/ir.rule.csv @@ -0,0 +1,4 @@ +id,name,model_id:id,groups:id,perm_read,perm_write,perm_create,perm_unlink,domain_force +edit_access_sms,Edit Access Sms,model_sms_sms,,True,True,True,True,"[('company_id','=', user.company_id.id)]" +edit_access_sms_gateway,Edit Access Sms Gateway,model_sms_gateway,,False,True,True,True,"[('company_id','=', user.company_id.id)]" +read_access_sms_gateway,Read Access Sms Gateway,model_sms_gateway,,True,False,False,False,"['|', '|', ('company_id','=', user.company_id.id),('company_id','child_of',[user.company_id.id]),('company_id','=',user.company_id.parent_id.id)]" diff --git a/smsclient_core/serveraction.py b/smsclient_core/serveraction.py new file mode 100644 index 0000000..e61c0d2 --- /dev/null +++ b/smsclient_core/serveraction.py @@ -0,0 +1,32 @@ +# coding: utf-8 +# Copyright (C) 2004-2009 Tiny SPRL (). +# Copyright (C) 2013 Julius Network Solutions SARL +# Copyright (C) 2015 Valentin Chemiere +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +import logging +from openerp import models, fields + + +_logger = logging.getLogger('gateway') + + +class ServerAction(models.Model): + """ + Possibility to specify the SMS Gateway when configure this server action + """ + _inherit = 'ir.actions.server' + + mobile = fields.Char( + string='Mobile No', + help="Field to be used to fetch the mobile number, e.g. you select" + " the invoice model and `object.invoice_address_id.mobile` " + "will be the field providing the correct mobile number.") + sms = fields.Char('SMS', size=160, translate=True) + sms_server = fields.Many2one( + 'sms.gateway', string='SMS Server', + help='Select the SMS Gateway configuration to use with this action.') + sms_template_id = fields.Many2one( + 'email.template', string='SMS Template', + help='Select the SMS Template configuration to use with this action.') diff --git a/smsclient_core/serveraction_view.xml b/smsclient_core/serveraction_view.xml new file mode 100644 index 0000000..7568eaa --- /dev/null +++ b/smsclient_core/serveraction_view.xml @@ -0,0 +1,22 @@ + + + + + ir.actions.server.form.inherit + ir.actions.server + + + + + + + + + + + + + + + + diff --git a/smsclient_core/sms_gateway.py b/smsclient_core/sms_gateway.py new file mode 100644 index 0000000..63116a3 --- /dev/null +++ b/smsclient_core/sms_gateway.py @@ -0,0 +1,266 @@ +# coding: utf-8 +# Copyright (C) 2004-2009 Tiny SPRL (). +# Copyright (C) 2011 SYLEAM () +# Copyright (C) 2013 Julius Network Solutions SARL +# Copyright (C) 2015 Valentin Chemiere +# Copyright (C) 2015 Sébastien BEAU +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import logging + +from openerp import models, fields, api, _ +from openerp.addons.server_environment import serv_config + +_logger = logging.getLogger(__name__) + +PRIORITY_LIST = [ + ('0', '0'), + ('1', '1'), + ('2', '2'), + ('3', '3') +] + +CLASSES_LIST = [ + ('0', 'Flash'), + ('1', 'Phone display'), + ('2', 'SIM'), + ('3', 'Toolkit') +] + + +class SMSClient(models.Model): + _name = 'sms.gateway' + _description = 'SMS Client' + + @api.model + def get_method(self): + return [] + + @api.multi + def _get_provider_conf(self): + for sms_provider in self: + global_section_name = 'sms_provider' + config_vals = {} + if serv_config.has_section(global_section_name): + config_vals.update(serv_config.items(global_section_name)) + custom_section_name = '.'.join((global_section_name, + sms_provider.name)) + if serv_config.has_section(custom_section_name): + config_vals.update(serv_config.items(custom_section_name)) + for key in config_vals: + sms_provider[key] = config_vals[key] + + name = fields.Char('Gateway Name', required=True) + url = fields.Char( + string='Gateway URL', compute='_get_provider_conf', + help='Base url for message') + url_visible = fields.Boolean(default=False) + method = fields.Selection( + string='API Method', + selection='get_method') + state = fields.Selection([ + ('new', 'Not Verified'), + ('waiting', 'Waiting for Verification'), + ('confirm', 'Verified'), + ], 'Gateway Status', index=True, readonly=True, default='new') + user_ids = fields.Many2many( + 'res.users', + string='Users Allowed') + sms_account = fields.Char(compute='_get_provider_conf') + sms_account_visible = fields.Boolean(default=False) + login_provider = fields.Char(compute='_get_provider_conf') + login_provider_visible = fields.Boolean(default=False) + password_provider = fields.Char(compute='_get_provider_conf') + password_provider_visible = fields.Boolean(default=False) + from_provider = fields.Char(compute='_get_provider_conf') + from_provider_visible = fields.Boolean(default=False) + code = fields.Char('Verification Code') + code_visible = fields.Boolean(default=False) + body = fields.Text( + string='Message', + help="The message text that will be send along with the" + " email which is send through this server.") + validity = fields.Integer( + default=10, + help="The maximum time - in minute(s) - before the message " + "is dropped.") + validity_visible = fields.Boolean(default=False) + classes = fields.Selection( + CLASSES_LIST, 'Class', + default='1', + help='The SMS class: flash(0),phone display(1),SIM(2),toolkit(3)') + classes_visible = fields.Boolean(default=False) + deferred = fields.Integer( + default=0, + help='The time -in minute(s)- to wait before sending the message.') + deferred_visible = fields.Boolean(default=False) + priority = fields.Selection( + PRIORITY_LIST, string='Priority', default='3', + help='The priority of the message') + priority_visible = fields.Boolean(default=False) + coding = fields.Selection([ + ('1', '7 bit'), + ('2', 'Unicode') + ], 'Coding', + help='The SMS coding: 1 for 7 bit (160 chracters max' + 'lenght) or 2 for unicode (70 characters max' + 'lenght)', + default='1' + ) + coding_visible = fields.Boolean(default=False) + tag = fields.Char('Tag', help='an optional tag') + tag_visible = fields.Boolean(default=False) + nostop = fields.Boolean( + default=True, + help='Do not display STOP clause in the message, this requires that ' + 'this is not an advertising message.') + nostop_visible = fields.Boolean(default=False) + char_limit = fields.Boolean('Character Limit', default=True) + char_limit_visible = fields.Boolean(default=False) + default_gateway = fields.Boolean(default=False) + company_id = fields.Many2one('res.company') + + @api.onchange('method') + def onchange_method(self): + if not self.method: + self.url_visible = False + self.sms_account_visible = False + self.login_provider_visible = False + self.password_provider_visible = False + self.from_provider_visible = False + self.validity_visible = False + self.classes_visible = False + self.deferred_visible = False + self.nostop_visible = False + self.priority_visible = False + self.coding_visible = False + self.tag_visible = False + self.char_limit_visible = False + + @api.multi + def _check_permissions(self): + self.ensure_one() + if self.env.uid not in self.sudo().user_ids.ids: + return False + return True + + @api.model + def _run_send_sms(self, domain=None): + if domain is None: + domain = [] + domain.append(('state', '=', 'draft')) + sms = self.env['sms.sms'].search(domain) + return sms.send() + + +class SmsSms(models.Model): + _name = 'sms.sms' + _description = 'SMS' + _rec_name = 'mobile' + + message = fields.Text( + size=256, + required=True, + readonly=True, + states={'draft': [('readonly', False)]}) + mobile = fields.Char( + required=True, + readonly=True, + states={'draft': [('readonly', False)]}) + gateway_id = fields.Many2one( + 'sms.gateway', + 'SMS Gateway', + readonly=True, + states={'draft': [('readonly', False)]}) + state = fields.Selection([ + ('draft', 'Queued'), + ('sent', 'Sent'), + ('cancel', 'Cancel'), + ('error', 'Error'), + ], 'Message Status', + select=True, + readonly=True, + default='draft') + error = fields.Text( + 'Last Error', + size=256, + readonly=True, + states={'draft': [('readonly', False)]}) + validity = fields.Integer( + 'Validity', + readonly=True, + states={'draft': [('readonly', False)]}, + help='The maximum time -in minute(s)- before the message is dropped.') + classes = fields.Selection( + readonly=True, + states={'draft': [('readonly', False)]}, + selection=CLASSES_LIST, + help='The sms class: flash(0), phone display(1), SIM(2), toolkit(3)') + deferred = fields.Integer( + readonly=True, + states={'draft': [('readonly', False)]}, + help='The time -in minute(s)- to wait before sending the message.') + priority = fields.Selection( + readonly=True, + states={'draft': [('readonly', False)]}, + selection=PRIORITY_LIST, + help='The priority of the message ') + coding = fields.Selection([ + ('1', '7 bit'), + ('2', 'Unicode') + ], readonly=True, + states={'draft': [('readonly', False)]}, + help='The sms coding: 1 for 7 bit or 2 for unicode') + tag = fields.Char( + size=256, + readonly=True, + states={'draft': [('readonly', False)]}, + help='An optional tag') + nostop = fields.Boolean( + 'NoStop', + readonly=True, + states={'draft': [('readonly', False)]}, + help='Do not display STOP clause in the message, this requires that' + 'this is not an advertising message.') + partner_id = fields.Many2one( + 'res.partner', + readonly=True, + states={'draft': [('readonly', False)]}, + string='Partner') + company_id = fields.Many2one( + 'res.company', + readonly=True, + states={'draft': [('readonly', False)]}) + + @api.onchange('partner_id') + def onchange_partner_id(self): + self.mobile = self.partner_id.mobile + + @api.multi + def send(self): + for sms in self: + if sms.gateway_id.char_limit and len(sms.message) > 160: + sms.write({ + 'state': 'error', + 'error': _('Size of SMS should not be more then 160 char'), + }) + if not hasattr(sms, "_send_%s" % sms.gateway_id.method): + raise NotImplemented + else: + try: + with sms._cr.savepoint(): + getattr(sms, "_send_%s" % sms.gateway_id.method)() + sms.write({'state': 'sent', 'error': ''}) + except Exception, e: + _logger.error('Failed to send sms %s', e) + sms.write({'error': e, 'state': 'error'}) + sms._cr.commit() + return True + + @api.multi + def cancel(self): + self.write({'state': 'cancel'}) + + @api.multi + def retry(self): + self.write({'state': 'draft'}) diff --git a/smsclient_core/sms_gateway_data.xml b/smsclient_core/sms_gateway_data.xml new file mode 100644 index 0000000..5956013 --- /dev/null +++ b/smsclient_core/sms_gateway_data.xml @@ -0,0 +1,16 @@ + + + + + Send SMS + 1 + minutes + -1 + + + + + + + + diff --git a/smsclient_core/sms_gateway_view.xml b/smsclient_core/sms_gateway_view.xml new file mode 100644 index 0000000..36d2884 --- /dev/null +++ b/smsclient_core/sms_gateway_view.xml @@ -0,0 +1,165 @@ + + + + + + + + + sms.gateway + + +
+ + +

+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + sms.gateway + + + + + + + + + + + + SMS Gateway + sms.gateway + form + form,tree + + + + + + + sms.sms + + + + + + + +