diff --git a/.travis.yml b/.travis.yml index f5ae13c..687502f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ install: - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH} - travis_install_nightly - pip install phonenumbers py-Asterisk SOAPpy - - hg clone http://bitbucket.org/anybox/web_action_request -b ${VERSION} ${HOME}/web_action_request + - hg clone http://bitbucket.org/juris_malinens/web_action_request -b ${VERSION} ${HOME}/web_action_request # Pull request is not merged in anybox - hg clone http://bitbucket.org/anybox/bus_enhanced ${HOME}/bus_enhanced script: diff --git a/base_phone/README.rst b/base_phone/README.rst new file mode 100644 index 0000000..20be1f2 --- /dev/null +++ b/base_phone/README.rst @@ -0,0 +1,98 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +========== +Base Phone +========== + +This module validate phone numbers using the *phonenumbers* Python library, +which is a port of the library used in Android smartphones. For example, if +your user is linked to a French company and you update the form view of a +partner with a badly written French phone number such as '01-55-42-12-42', +Odoo will automatically update the phone number to E.164 format '+33155421242' +and display in the form and tree view of the partner the readable equivalent +'+33 1 55 42 12 42'. + +This module also adds *tel:* links on phone numbers and *fax:* links on fax +numbers. If you have a softphone or a client software on your PC that is +associated with *tel:* links, the softphone should propose you to dial the +phone number when you click on such a link. + +This module also updates the format() function for reports and adds 2 +arguments : + +* *phone* : should be True for a phone number, False (default) otherwize. +* *phone_format* : it can have 3 possible values : + * *international* (default) : the report will display '+33 1 55 42 12 42' + * *national* : the report will display '01 55 42 12 42' + * *e164* : the report will display '+33155421242' + +For example, in the Sale Order report, to display the phone number of the +Salesman, you can write : o.user_id and o.user_id.phone and +format(o.user_id.phone, phone=True, phone_format='national') or '' + +This module is independant from the Asterisk connector. + +Please contact Alexis de Lattre from Akretion +for any help or question about this module. + +Installation +============ + +There is no specific installation procedure for this module. + +Configuration +============= + +There is no specific configuration procedure for this module. + +Usage +===== + +There is no specific usage procedure for this module. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/{repo_id}/9.0 + +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 +`_. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Alexis de Lattre + +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 https://odoo-community.org. diff --git a/base_phone/__init__.py b/base_phone/__init__.py index 36edafc..425df7e 100644 --- a/base_phone/__init__.py +++ b/base_phone/__init__.py @@ -1,23 +1,4 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# Base Phone module for OpenERP -# Copyright (C) 2014 Alexis de Lattre -# -# 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 base_phone from . import wizard diff --git a/base_phone/__openerp__.py b/base_phone/__openerp__.py index 16d0f58..6447c32 100644 --- a/base_phone/__openerp__.py +++ b/base_phone/__openerp__.py @@ -1,8 +1,8 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # -# Base Phone module for OpenERP -# Copyright (C) 2014 Alexis de Lattre +# Base Phone module for Odoo +# Copyright (C) 2014-2015 Alexis de Lattre # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -22,45 +22,10 @@ { 'name': 'Base Phone', - 'version': '8.0.0.1.0', + 'version': '9.0.0.1.0', 'category': 'Phone', 'license': 'AGPL-3', 'summary': 'Validate phone numbers', - 'description': """ -Base Phone -========== - -This module validate phone numbers using the *phonenumbers* Python library, -which is a port of the library used in Android smartphones. For example, if -your user is linked to a French company and you update the form view of a -partner with a badly written French phone number such as '01-55-42-12-42', -Odoo will automatically update the phone number to E.164 format '+33155421242' -and display in the form and tree view of the partner the readable equivalent -'+33 1 55 42 12 42'. - -This module also adds *tel:* links on phone numbers and *fax:* links on fax -numbers. If you have a softphone or a client software on your PC that is -associated with *tel:* links, the softphone should propose you to dial the -phone number when you click on such a link. - -This module also updates the format() function for reports and adds 2 -arguments : - -* *phone* : should be True for a phone number, False (default) otherwize. -* *phone_format* : it can have 3 possible values : - * *international* (default) : the report will display '+33 1 55 42 12 42' - * *national* : the report will display '01 55 42 12 42' - * *e164* : the report will display '+33155421242' - -For example, in the Sale Order report, to display the phone number of the -Salesman, you can write : o.user_id and o.user_id.phone and -format(o.user_id.phone, phone=True, phone_format='national') or '' - -This module is independant from the Asterisk connector. - -Please contact Alexis de Lattre from Akretion -for any help or question about this module. -""", 'author': "Akretion,Odoo Community Association (OCA)", 'website': 'http://www.akretion.com/', 'depends': ['base', 'web'], @@ -76,8 +41,7 @@ for any help or question about this module. 'web_phone.xml', ], 'qweb': ['static/src/xml/*.xml'], - 'demo': ['base_phone_demo.xml'], 'test': ['test/phonenum.yml'], 'images': [], - 'installable': False, + 'installable': True, } diff --git a/base_phone/base_phone.py b/base_phone/base_phone.py index 0d663be..b704255 100644 --- a/base_phone/base_phone.py +++ b/base_phone/base_phone.py @@ -1,8 +1,8 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # -# Base Phone module for Odoo/OpenERP -# Copyright (C) 2010-2014 Alexis de Lattre +# Base Phone module for Odoo +# Copyright (C) 2010-2015 Alexis de Lattre # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as @@ -21,7 +21,7 @@ from openerp import models, fields, api, _ from openerp.tools.safe_eval import safe_eval -from openerp.exceptions import Warning +from openerp.exceptions import UserError import logging # Lib for phone number reformating -> pip install phonenumbers import phonenumbers @@ -32,86 +32,96 @@ _logger = logging.getLogger(__name__) class PhoneCommon(models.AbstractModel): _name = 'phone.common' - def _generic_reformat_phonenumbers( - self, cr, uid, ids, vals, context=None): - """Reformat phone numbers in E.164 format i.e. +33141981242""" - assert isinstance(self._country_field, (str, unicode, type(None))),\ - 'Wrong self._country_field' - assert isinstance(self._partner_field, (str, unicode, type(None))),\ - 'Wrong self._partner_field' + @api.model + def _reformat_phonenumbers_create(self, vals): + assert isinstance(self._phone_fields, list),\ + 'self._phone_fields must be a list' + if any([vals.get(field) for field in self._phone_fields]): + countrycode = self._get_countrycode_from_vals(vals) + countrycode = self._countrycode_fallback(countrycode) + vals = self._reformat_phonenumbers(vals, countrycode) + return vals + + @api.multi + def _reformat_phonenumbers_write(self, vals): assert isinstance(self._phone_fields, list),\ 'self._phone_fields must be a list' - if context is None: - context = {} - if ids and isinstance(ids, (int, long)): - ids = [ids] if any([vals.get(field) for field in self._phone_fields]): - user = self.pool['res.users'].browse(cr, uid, uid, context=context) - # country_id on res.company is a fields.function that looks at - # company_id.partner_id.addres(default).country_id - countrycode = None - if self._country_field: - if vals.get(self._country_field): - country = self.pool['res.country'].browse( - cr, uid, vals[self._country_field], context=context) - countrycode = country.code - elif ids: - rec = self.browse(cr, uid, ids[0], context=context) + countrycode = self._get_countrycode_from_vals(vals) + if not countrycode: + if self._country_field: country = safe_eval( - 'rec.' + self._country_field, {'rec': rec}) + 'self.' + self._country_field, {'self': self}) countrycode = country and country.code or None - elif self._partner_field: - if vals.get(self._partner_field): - partner = self.pool['res.partner'].browse( - cr, uid, vals[self._partner_field], context=context) - countrycode = partner.country_id and\ - partner.country_id.code or None - elif ids: - rec = self.browse(cr, uid, ids[0], context=context) + elif self._partner_field: partner = safe_eval( - 'rec.' + self._partner_field, {'rec': rec}) + 'self.' + self._partner_field, {'self': self}) if partner: countrycode = partner.country_id and\ partner.country_id.code or None - if not countrycode: - if user.company_id.country_id: - countrycode = user.company_id.country_id.code - else: + + countrycode = self._countrycode_fallback(countrycode) + vals = self._reformat_phonenumbers(vals, countrycode) + return vals + + @api.model + def _get_countrycode_from_vals(self, vals): + assert isinstance(self._country_field, (str, unicode, type(None))),\ + 'Wrong self._country_field' + assert isinstance(self._partner_field, (str, unicode, type(None))),\ + 'Wrong self._partner_field' + countrycode = None + if self._country_field and vals.get(self._country_field): + country = self.env['res.country'].browse( + int(vals[self._country_field])) + countrycode = country.code + elif self._partner_field and vals.get(self._partner_field): + partner = self.env['res.partner'].browse( + int(vals[self._partner_field])) + countrycode = partner.country_id.code or False + return countrycode + + @api.model + def _countrycode_fallback(self, countrycode): + if not countrycode: + if self.env.user.company_id.country_id: + countrycode = self.env.user.company_id.country_id.code + else: + _logger.error( + "You should set a country on the company '%s' " + "to allow the reformat of phone numbers", + self.env.user.company_id.name) + return countrycode + + @api.model + def _reformat_phonenumbers(self, vals, countrycode): + for field in self._phone_fields: + if vals.get(field): + init_value = vals.get(field) + try: + res_parse = phonenumbers.parse( + vals.get(field), countrycode.upper()) + vals[field] = phonenumbers.format_number( + res_parse, phonenumbers.PhoneNumberFormat.E164) + if init_value != vals[field]: + _logger.info( + "%s initial value: '%s' updated value: '%s'" + % (field, init_value, vals[field])) + except Exception, e: + # I do BOTH logger and raise, because: + # raise is usefull when the record is created/written + # by a user via the Web interface + # logger is usefull when the record is created/written + # via the webservices _logger.error( - _("You should set a country on the company '%s' " - "to allow the reformat of phone numbers") - % user.company_id.name) - countrycode = None - # with country code = None, phonenumbers.parse() will work - # with phonenumbers formatted in E164, but will fail with - # phone numbers in national format - for field in self._phone_fields: - if vals.get(field): - init_value = vals.get(field) - try: - res_parse = phonenumbers.parse( - vals.get(field), countrycode.upper()) - vals[field] = phonenumbers.format_number( - res_parse, phonenumbers.PhoneNumberFormat.E164) - if init_value != vals[field]: - _logger.info( - "%s initial value: '%s' updated value: '%s'" - % (field, init_value, vals[field])) - except Exception, e: - # I do BOTH logger and raise, because: - # raise is usefull when the record is created/written - # by a user via the Web interface - # logger is usefull when the record is created/written - # via the webservices - _logger.error( - "Cannot reformat the phone number '%s' to " - "international format with region=%s" - % (vals.get(field), countrycode)) - if context.get('raise_if_phone_parse_fails'): - raise Warning( - _("Cannot reformat the phone number '%s' to " - "international format. Error message: %s") - % (vals.get(field), e)) + "Cannot reformat the phone number '%s' to " + "international format with region=%s", + vals.get(field), countrycode) + if self.env.context.get('raise_if_phone_parse_fails'): + raise UserError( + _("Cannot reformat the phone number '%s' to " + "international format. Error message: %s") + % (vals.get(field), e)) return vals @api.model @@ -196,7 +206,7 @@ class PhoneCommon(models.AbstractModel): def _get_phone_fields(self): '''Returns a dict with key = object name and value = list of phone fields''' - models = self.env['ir.model'].search([('osv_memory', '=', False)]) + models = self.env['ir.model'].search([('transient', '=', False)]) res = [] for model in models: senv = False @@ -210,7 +220,8 @@ class PhoneCommon(models.AbstractModel): res.append(model.model) return res - def click2dial(self, cr, uid, erp_number, context=None): + @api.model + def click2dial(self, erp_number): '''This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector''' return {'dialed_number': erp_number} @@ -247,26 +258,21 @@ class ResPartner(models.Model): _country_field = 'country_id' _partner_field = None - def create(self, cr, uid, vals, context=None): - vals_reformated = self._generic_reformat_phonenumbers( - cr, uid, None, vals, context=context) - return super(ResPartner, self).create( - cr, uid, vals_reformated, context=context) + @api.model + def create(self, vals): + vals_reformated = self._reformat_phonenumbers_create(vals) + return super(ResPartner, self).create(vals_reformated) - def write(self, cr, uid, ids, vals, context=None): - vals_reformated = self._generic_reformat_phonenumbers( - cr, uid, ids, vals, context=context) - return super(ResPartner, self).write( - cr, uid, ids, vals_reformated, context=context) + @api.multi + def write(self, vals): + vals_reformated = self._reformat_phonenumbers_write(vals) + return super(ResPartner, self).write(vals_reformated) - def name_get(self, cr, uid, ids, context=None): - if context is None: - context = {} - if context.get('callerid'): + @api.multi + def name_get(self): + if self._context.get('callerid'): res = [] - if isinstance(ids, (int, long)): - ids = [ids] - for partner in self.browse(cr, uid, ids, context=context): + for partner in self: if partner.parent_id and partner.parent_id.is_company: name = u'%s (%s)' % (partner.name, partner.parent_id.name) else: @@ -274,8 +280,7 @@ class ResPartner(models.Model): res.append((partner.id, name)) return res else: - return super(ResPartner, self).name_get( - cr, uid, ids, context=context) + return super(ResPartner, self).name_get() class ResCompany(models.Model): diff --git a/base_phone/base_phone_demo.xml b/base_phone/base_phone_demo.xml deleted file mode 100644 index 4e341e1..0000000 --- a/base_phone/base_phone_demo.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/base_phone/controller.py b/base_phone/controller.py index 1a90e95..1fb2edb 100644 --- a/base_phone/controller.py +++ b/base_phone/controller.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # # Base Phone module for Odoo diff --git a/base_phone/i18n/en.po b/base_phone/i18n/en.po new file mode 100644 index 0000000..1fbce4c --- /dev/null +++ b/base_phone/i18n/en.po @@ -0,0 +1,337 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_phone +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: connector-telephony (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-29 13:29+0000\n" +"PO-Revision-Date: 2015-10-29 13:29+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-connector-telephony-8-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_phone +#: field:number.not.found,calling_number:0 +msgid "Calling Number" +msgstr "Calling Number" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Cancel" +msgstr "Cancel" + +#. module: base_phone +#: code:addons/base_phone/base_phone.py:112 +#, python-format +msgid "" +"Cannot reformat the phone number '%s' to international format. Error " +"message: %s" +msgstr "Cannot reformat the phone number '%s' to international format. Error message: %s" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:46 +#, python-format +msgid "Click2dial started" +msgstr "Click2dial started" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:58 +#, python-format +msgid "Click2dial successfull" +msgstr "Click2dial successfull" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Close" +msgstr "Close" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_company +msgid "Companies" +msgstr "Companies" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:87 +#, python-format +msgid "Create New Partner" +msgstr "Create New Partner" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create Partner with this Number" +msgstr "Create Partner with this Number" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create or Update a Partner" +msgstr "Create or Update a Partner" + +#. module: base_phone +#: field:number.not.found,create_uid:0 +#: field:reformat.all.phonenumbers,create_uid:0 +msgid "Created by" +msgstr "Created by" + +#. module: base_phone +#: field:number.not.found,create_date:0 +#: field:reformat.all.phonenumbers,create_date:0 +msgid "Created on" +msgstr "Created on" + +#. module: base_phone +#: field:number.not.found,current_partner_mobile:0 +msgid "Current Mobile" +msgstr "Current Mobile" + +#. module: base_phone +#: field:number.not.found,current_partner_phone:0 +msgid "Current Phone" +msgstr "Current Phone" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:39 +#, python-format +msgid "Dial" +msgstr "Dial" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Done" +msgstr "Done" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Draft" +msgstr "Draft" + +#. module: base_phone +#: field:number.not.found,e164_number:0 +msgid "E.164 Number" +msgstr "E.164 Number" + +#. module: base_phone +#: help:number.not.found,e164_number:0 +msgid "E.164 equivalent of the calling number." +msgstr "E.164 equivalent of the calling number." + +#. module: base_phone +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Email Preferences" +msgstr "Email Preferences" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:101 +#, python-format +msgid "Error:" +msgstr "Error:" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Fixed" +msgstr "Fixed" + +#. module: base_phone +#: field:number.not.found,number_type:0 +msgid "Fixed/Mobile" +msgstr "Fixed/Mobile" + +#. module: base_phone +#: field:base.phone.installed,id:0 field:number.not.found,id:0 +#: field:phone.common,id:0 field:reformat.all.phonenumbers,id:0 +msgid "ID" +msgstr "ID" + +#. module: base_phone +#: help:res.company,number_of_digits_to_match_from_end:0 +msgid "" +"In several situations, OpenERP will have to find a Partner/Lead/Employee/..." +" from a phone number presented by the calling party. As the phone numbers " +"presented by your phone operator may not always be displayed in a standard " +"format, the best method to find the related Partner/Lead/Employee/... in " +"OpenERP is to try to match the end of the phone number in OpenERP with the N" +" last digits of the phone number presented by the calling party. N is the " +"value you should enter in this field." +msgstr "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field." + +#. module: base_phone +#: field:number.not.found,write_uid:0 +#: field:reformat.all.phonenumbers,write_uid:0 +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: base_phone +#: field:number.not.found,write_date:0 +#: field:reformat.all.phonenumbers,write_date:0 +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Mobile" +msgstr "Mobile" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number Not Found" +msgstr "Number Not Found" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number converted to international format:" +msgstr "Number converted to international format:" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:59 +#, python-format +msgid "Number dialed:" +msgstr "Number dialed:" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_number_not_found +msgid "Number not found" +msgstr "Number not found" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number not found:" +msgstr "Number not found:" + +#. module: base_phone +#: field:res.company,number_of_digits_to_match_from_end:0 +msgid "Number of Digits To Match From End" +msgstr "Number of Digits To Match From End" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_partner +msgid "Partner" +msgstr "Partner" + +#. module: base_phone +#: help:number.not.found,to_update_partner_id:0 +msgid "Partner on which the phone number will be written" +msgstr "Partner on which the phone number will be written" + +#. module: base_phone +#: field:number.not.found,to_update_partner_id:0 +msgid "Partner to Update" +msgstr "Partner to Update" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:107 +#, python-format +msgid "Partner: %s" +msgstr "Partner: %s" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +msgid "Phone" +msgstr "Phone" + +#. module: base_phone +#: model:res.groups,name:base_phone.group_callerid +msgid "Phone CallerID" +msgstr "Phone CallerID" + +#. module: base_phone +#: help:number.not.found,calling_number:0 +msgid "" +"Phone number of calling party that has been obtained from the telephony " +"server, in the format used by the telephony server (not E.164)." +msgstr "Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164)." + +#. module: base_phone +#: field:reformat.all.phonenumbers,phonenumbers_not_reformatted:0 +msgid "Phone numbers that couldn't be reformatted" +msgstr "Phone numbers that couldn't be reformatted" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Phone numbers that couldn't be reformatted:" +msgstr "Phone numbers that couldn't be reformatted:" + +#. module: base_phone +#: model:ir.actions.act_window,name:base_phone.reformat_all_phonenumbers_action +#: model:ir.ui.menu,name:base_phone.reformat_all_phonenumbers_menu +msgid "Reformat Phone Numbers" +msgstr "Reformat Phone Numbers" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_reformat_all_phonenumbers +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Reformat all phone numbers" +msgstr "Reformat all phone numbers" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:102 +#, python-format +msgid "Select the Partner to Update." +msgstr "Select the Partner to Update." + +#. module: base_phone +#: field:reformat.all.phonenumbers,state:0 +msgid "State" +msgstr "State" + +#. module: base_phone +#: model:ir.ui.menu,name:base_phone.menu_config_phone +#: view:res.users:base_phone.view_users_form +msgid "Telephony" +msgstr "Telephony" + +#. module: base_phone +#: view:res.users:base_phone.view_users_form +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Telephony Preferences" +msgstr "Telephony Preferences" + +#. module: base_phone +#: sql_constraint:res.company:0 +msgid "" +"The value of the field 'Number of Digits To Match From End' must be " +"positive." +msgstr "The value of the field 'Number of Digits To Match From End' must be positive." + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "" +"This wizard reformats the phone, mobile and fax numbers of all partners in " +"standard international format e.g. +33141981242" +msgstr "This wizard reformats the phone, mobile and fax numbers of all partners in standard international format e.g. +33141981242" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:47 +#, python-format +msgid "Unhook your ringing phone" +msgstr "Unhook your ringing phone" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Update Partner with this Number" +msgstr "Update Partner with this Number" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +msgid "fax" +msgstr "fax" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +#: view:res.partner:base_phone.view_partner_simple_form +#: view:res.partner:base_phone.view_partner_tree +msgid "phone" +msgstr "phone" diff --git a/base_phone/i18n/es.po b/base_phone/i18n/es.po new file mode 100644 index 0000000..ea86b57 --- /dev/null +++ b/base_phone/i18n/es.po @@ -0,0 +1,339 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_phone +# +# Translators: +# Antonio Trueba, 2016 +# Enrique Zanardi , 2015 +msgid "" +msgstr "" +"Project-Id-Version: connector-telephony (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-01 04:07+0000\n" +"PO-Revision-Date: 2016-01-07 14:27+0000\n" +"Last-Translator: Antonio Trueba\n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-connector-telephony-8-0/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_phone +#: field:number.not.found,calling_number:0 +msgid "Calling Number" +msgstr "Número llamante" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: base_phone +#: code:addons/base_phone/base_phone.py:112 +#, python-format +msgid "" +"Cannot reformat the phone number '%s' to international format. Error " +"message: %s" +msgstr "No se puede reformatear el número de teléfono '%s' al formato internacional. Mensaje de error: %s" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:46 +#, python-format +msgid "Click2dial started" +msgstr "Click2dial iniciado" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:58 +#, python-format +msgid "Click2dial successfull" +msgstr "" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Close" +msgstr "Cerrar" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:87 +#, python-format +msgid "Create New Partner" +msgstr "Crear nueva empresa" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create Partner with this Number" +msgstr "Crear empresa con éste número" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create or Update a Partner" +msgstr "Crear o actualizar empresa" + +#. module: base_phone +#: field:number.not.found,create_uid:0 +#: field:reformat.all.phonenumbers,create_uid:0 +msgid "Created by" +msgstr "Creado por" + +#. module: base_phone +#: field:number.not.found,create_date:0 +#: field:reformat.all.phonenumbers,create_date:0 +msgid "Created on" +msgstr "Creado el" + +#. module: base_phone +#: field:number.not.found,current_partner_mobile:0 +msgid "Current Mobile" +msgstr "Móvil actual" + +#. module: base_phone +#: field:number.not.found,current_partner_phone:0 +msgid "Current Phone" +msgstr "Teléfono actual" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:39 +#, python-format +msgid "Dial" +msgstr "Llamar" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Done" +msgstr "Hecho" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Draft" +msgstr "Borrador" + +#. module: base_phone +#: field:number.not.found,e164_number:0 +msgid "E.164 Number" +msgstr "Número E.164" + +#. module: base_phone +#: help:number.not.found,e164_number:0 +msgid "E.164 equivalent of the calling number." +msgstr "Equivalente E.164 del número que llama" + +#. module: base_phone +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Email Preferences" +msgstr "Preferencias de correo electrónico" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:101 +#, python-format +msgid "Error:" +msgstr "Error:" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Fixed" +msgstr "Teléfono fijo" + +#. module: base_phone +#: field:number.not.found,number_type:0 +msgid "Fixed/Mobile" +msgstr "Fijo/móvil" + +#. module: base_phone +#: field:base.phone.installed,id:0 field:number.not.found,id:0 +#: field:phone.common,id:0 field:reformat.all.phonenumbers,id:0 +msgid "ID" +msgstr "ID" + +#. module: base_phone +#: help:res.company,number_of_digits_to_match_from_end:0 +msgid "" +"In several situations, OpenERP will have to find a Partner/Lead/Employee/..." +" from a phone number presented by the calling party. As the phone numbers " +"presented by your phone operator may not always be displayed in a standard " +"format, the best method to find the related Partner/Lead/Employee/... in " +"OpenERP is to try to match the end of the phone number in OpenERP with the N" +" last digits of the phone number presented by the calling party. N is the " +"value you should enter in this field." +msgstr "En varias ocasiones, OpenERP tendrá que encontrar una empresa/oportunidad/empleado/... a partir del número de teléfono enviado por el interlocutor. Como los números de teléfono enviados por su operador de telefonía puede que a veces se muestren en un formato no estándar, el mejor método para encontrar la empresa/oportunidad/empleado/... relacionado en OpenERP es buscar que coincida el final del número de teléfono en OpenERP con los últimos N dígitos del número de teléfono enviado por el interlocutor. N es el número que debe introducir en este campo." + +#. module: base_phone +#: field:number.not.found,write_uid:0 +#: field:reformat.all.phonenumbers,write_uid:0 +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: base_phone +#: field:number.not.found,write_date:0 +#: field:reformat.all.phonenumbers,write_date:0 +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Mobile" +msgstr "Teléfono móvil" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number Not Found" +msgstr "Número no encontrado" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number converted to international format:" +msgstr "Número convertido a formato internacional:" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:59 +#, python-format +msgid "Number dialed:" +msgstr "Número marcado:" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_number_not_found +msgid "Number not found" +msgstr "Número no encontrado" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number not found:" +msgstr "Número no encontrado:" + +#. module: base_phone +#: field:res.company,number_of_digits_to_match_from_end:0 +msgid "Number of Digits To Match From End" +msgstr "Número de dígitos que coinciden al final." + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_partner +msgid "Partner" +msgstr "Empresa" + +#. module: base_phone +#: help:number.not.found,to_update_partner_id:0 +msgid "Partner on which the phone number will be written" +msgstr "Empresa en la que se escribirá el número de teléfono" + +#. module: base_phone +#: field:number.not.found,to_update_partner_id:0 +msgid "Partner to Update" +msgstr "Empresa a actualizar" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:107 +#, python-format +msgid "Partner: %s" +msgstr "Empresa: %s" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +msgid "Phone" +msgstr "Teléfono" + +#. module: base_phone +#: model:res.groups,name:base_phone.group_callerid +msgid "Phone CallerID" +msgstr "Identificación de llamada del teléfono" + +#. module: base_phone +#: help:number.not.found,calling_number:0 +msgid "" +"Phone number of calling party that has been obtained from the telephony " +"server, in the format used by the telephony server (not E.164)." +msgstr "Número de teléfono del interlocutor que ha sido obtenido desde el servidor de telefonía, en el formato usado por el servidor de telefonía (no E.164)" + +#. module: base_phone +#: field:reformat.all.phonenumbers,phonenumbers_not_reformatted:0 +msgid "Phone numbers that couldn't be reformatted" +msgstr "Números de teléfono que no pudieron reformatearse" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Phone numbers that couldn't be reformatted:" +msgstr "Números de teléfono que no pudieron reformatearse:" + +#. module: base_phone +#: model:ir.actions.act_window,name:base_phone.reformat_all_phonenumbers_action +#: model:ir.ui.menu,name:base_phone.reformat_all_phonenumbers_menu +msgid "Reformat Phone Numbers" +msgstr "Reformatear números de teléfono" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_reformat_all_phonenumbers +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Reformat all phone numbers" +msgstr "Reformatear todos los números de teléfono" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:102 +#, python-format +msgid "Select the Partner to Update." +msgstr "Escoja la empresa a actualizar" + +#. module: base_phone +#: field:reformat.all.phonenumbers,state:0 +msgid "State" +msgstr "Estado" + +#. module: base_phone +#: model:ir.ui.menu,name:base_phone.menu_config_phone +#: view:res.users:base_phone.view_users_form +msgid "Telephony" +msgstr "Telefonía" + +#. module: base_phone +#: view:res.users:base_phone.view_users_form +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Telephony Preferences" +msgstr "Preferencias de telefonía" + +#. module: base_phone +#: sql_constraint:res.company:0 +msgid "" +"The value of the field 'Number of Digits To Match From End' must be " +"positive." +msgstr "El valor del campo 'Número de dígitos que coinciden al final' debe ser positivo." + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "" +"This wizard reformats the phone, mobile and fax numbers of all partners in " +"standard international format e.g. +33141981242" +msgstr "Este asistente reformatea los números de teléfono fijo, móvil y fax de todas las empresas en formato estandar internacional, p.ej. +33141981242" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:47 +#, python-format +msgid "Unhook your ringing phone" +msgstr "Descuelgue su teléfono que está sonando." + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Update Partner with this Number" +msgstr "Actualizar empresa con éste número" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +msgid "fax" +msgstr "fax" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +#: view:res.partner:base_phone.view_partner_simple_form +#: view:res.partner:base_phone.view_partner_tree +msgid "phone" +msgstr "teléfono" diff --git a/base_phone/i18n/fr.po b/base_phone/i18n/fr.po index 6487937..a80454c 100644 --- a/base_phone/i18n/fr.po +++ b/base_phone/i18n/fr.po @@ -1,47 +1,57 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: -# * base_phone -# +# * base_phone +# +# Translators: msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: connector-telephony (8.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-08-25 21:29+0000\n" -"PO-Revision-Date: 2014-08-25 21:29+0000\n" -"Last-Translator: Alexis de Lattre \n" -"Language-Team: \n" +"POT-Creation-Date: 2015-10-14 02:09+0000\n" +"PO-Revision-Date: 2015-10-12 18:36+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-connector-telephony-8-0/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: base_phone -#: view:reformat.all.phonenumbers:0 +#: field:number.not.found,calling_number:0 +msgid "Calling Number" +msgstr "" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Cancel" msgstr "Annuler" #. module: base_phone -#: code:addons/base_phone/base_phone.py:95 +#: code:addons/base_phone/base_phone.py:112 #, python-format -msgid "Cannot reformat the phone number '%s' to international format. Error message: %s" +msgid "" +"Cannot reformat the phone number '%s' to international format. Error " +"message: %s" msgstr "Impossible de reformatter le numéro de téléphone '%s' au format international. Message d'erreur : %s" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:34 +#: code:addons/base_phone/static/src/js/phone_widget.js:46 #, python-format msgid "Click2dial started" msgstr "Début du Click2dial" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:46 +#: code:addons/base_phone/static/src/js/phone_widget.js:58 #, python-format msgid "Click2dial successfull" msgstr "Click2dial réussi" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Close" msgstr "Fermer" @@ -51,21 +61,33 @@ msgid "Companies" msgstr "Sociétés" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:85 +#: code:addons/base_phone/wizard/number_not_found.py:87 #, python-format msgid "Create New Partner" msgstr "Créer un nouveau partenaire" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Create Partner with this Number" msgstr "Créer un partenaire avec ce numéro" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Create or Update a Partner" msgstr "Créer ou mettre à jour un partenaire" +#. module: base_phone +#: field:number.not.found,create_uid:0 +#: field:reformat.all.phonenumbers,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: base_phone +#: field:number.not.found,create_date:0 +#: field:reformat.all.phonenumbers,create_date:0 +msgid "Created on" +msgstr "" + #. module: base_phone #: field:number.not.found,current_partner_mobile:0 msgid "Current Mobile" @@ -78,11 +100,21 @@ msgstr "Téléphone actuel" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:31 +#: code:addons/base_phone/static/src/js/phone_widget.js:39 #, python-format msgid "Dial" msgstr "Composer" +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Done" +msgstr "" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Draft" +msgstr "" + #. module: base_phone #: field:number.not.found,e164_number:0 msgid "E.164 Number" @@ -94,14 +126,12 @@ msgid "E.164 equivalent of the calling number." msgstr "Equivalent au format E.164 du numéro appelant." #. module: base_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form_simple_modif msgid "Email Preferences" msgstr "Préférences de messagerie électronique" #. module: base_phone -#: code:addons/base_phone/base_phone.py:83 -#: code:addons/base_phone/base_phone.py:94 -#: code:addons/base_phone/wizard/number_not_found.py:99 +#: code:addons/base_phone/wizard/number_not_found.py:101 #, python-format msgid "Error:" msgstr "Erreur :" @@ -116,29 +146,54 @@ msgstr "Fixe" msgid "Fixed/Mobile" msgstr "Fixe/Portable" +#. module: base_phone +#: field:base.phone.installed,id:0 field:number.not.found,id:0 +#: field:phone.common,id:0 field:reformat.all.phonenumbers,id:0 +msgid "ID" +msgstr "" + #. module: base_phone #: help:res.company,number_of_digits_to_match_from_end:0 -msgid "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field." +msgid "" +"In several situations, OpenERP will have to find a Partner/Lead/Employee/..." +" from a phone number presented by the calling party. As the phone numbers " +"presented by your phone operator may not always be displayed in a standard " +"format, the best method to find the related Partner/Lead/Employee/... in " +"OpenERP is to try to match the end of the phone number in OpenERP with the N" +" last digits of the phone number presented by the calling party. N is the " +"value you should enter in this field." msgstr "In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field." +#. module: base_phone +#: field:number.not.found,write_uid:0 +#: field:reformat.all.phonenumbers,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: base_phone +#: field:number.not.found,write_date:0 +#: field:reformat.all.phonenumbers,write_date:0 +msgid "Last Updated on" +msgstr "" + #. module: base_phone #: selection:number.not.found,number_type:0 msgid "Mobile" msgstr "Portable" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number Not Found" msgstr "Numéro introuvable" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number converted to international format:" msgstr "Numéro converti au format international :" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:47 +#: code:addons/base_phone/static/src/js/phone_widget.js:59 #, python-format msgid "Number dialed:" msgstr "Numéro composé :" @@ -149,7 +204,7 @@ msgid "Number not found" msgstr "Numéro introuvable" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number not found:" msgstr "Numéro introuvable :" @@ -164,13 +219,23 @@ msgid "Partner" msgstr "Partenaire" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:105 +#: help:number.not.found,to_update_partner_id:0 +msgid "Partner on which the phone number will be written" +msgstr "" + +#. module: base_phone +#: field:number.not.found,to_update_partner_id:0 +msgid "Partner to Update" +msgstr "" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:107 #, python-format msgid "Partner: %s" msgstr "Partenaire : %s" #. module: base_phone -#: view:res.company:0 +#: view:res.company:base_phone.view_company_form msgid "Phone" msgstr "Téléphone" @@ -179,13 +244,20 @@ msgstr "Téléphone" msgid "Phone CallerID" msgstr "CallerID du téléphone" +#. module: base_phone +#: help:number.not.found,calling_number:0 +msgid "" +"Phone number of calling party that has been obtained from the telephony " +"server, in the format used by the telephony server (not E.164)." +msgstr "" + #. module: base_phone #: field:reformat.all.phonenumbers,phonenumbers_not_reformatted:0 msgid "Phone numbers that couldn't be reformatted" msgstr "Numéros de téléphone qui n'ont pas pu être reformatés" #. module: base_phone -#: view:reformat.all.phonenumbers:0 +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Phone numbers that couldn't be reformatted:" msgstr "Numéros de téléphone qui n'ont pas pu être reformatés :" @@ -197,77 +269,77 @@ msgstr "Reformate les numéros de téléphone" #. module: base_phone #: model:ir.model,name:base_phone.model_reformat_all_phonenumbers -#: view:reformat.all.phonenumbers:0 +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Reformat all phone numbers" msgstr "Reformate tous les numéros de téléphone" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:100 +#: code:addons/base_phone/wizard/number_not_found.py:102 #, python-format msgid "Select the Partner to Update." msgstr "Selectionnez le partenaire à mettre à jour." +#. module: base_phone +#: field:reformat.all.phonenumbers,state:0 +msgid "State" +msgstr "" + #. module: base_phone #: model:ir.ui.menu,name:base_phone.menu_config_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form msgid "Telephony" msgstr "Téléphonie" #. module: base_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form +#: view:res.users:base_phone.view_users_form_simple_modif msgid "Telephony Preferences" msgstr "Préférences téléphoniques" #. module: base_phone #: sql_constraint:res.company:0 -msgid "The value of the field 'Number of Digits To Match From End' must be positive." +msgid "" +"The value of the field 'Number of Digits To Match From End' must be " +"positive." msgstr "The value of the field 'Number of Digits To Match From End' must be positive." #. module: base_phone -#: view:reformat.all.phonenumbers:0 -msgid "This wizard reformats the phone, mobile and fax numbers of all partners in standard international format e.g. +33141981242" +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "" +"This wizard reformats the phone, mobile and fax numbers of all partners in " +"standard international format e.g. +33141981242" msgstr "Cet assistant reformate le numéro de téléphone fixe, portable et le fax de tous les partenaires au format standard international i.e. +33141981242" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:35 +#: code:addons/base_phone/static/src/js/phone_widget.js:47 #, python-format msgid "Unhook your ringing phone" msgstr "Décrochez votre téléphone" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Update Partner with this Number" msgstr "Mettre à jour le partenaire avec ce numéro" #. module: base_phone -#: constraint:res.partner:0 -msgid "You cannot create recursive Partner hierarchies." -msgstr "You cannot create recursive Partner hierarchies." - -#. module: base_phone -#: code:addons/base_phone/base_phone.py:84 +#: code:addons/base_phone/base_phone.py:81 #, python-format -msgid "You should set a country on the company '%s'" -msgstr "Vous devez renseigner un pays pour la société '%s'" - -#. module: base_phone -#: model:ir.model,name:base_phone.model_base_phone_installed -msgid "base.phone.installed" -msgstr "base.phone.installed" +msgid "" +"You should set a country on the company '%s' to allow the reformat of phone " +"numbers" +msgstr "" #. module: base_phone -#: view:res.partner:0 +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form msgid "fax" msgstr "fax" #. module: base_phone -#: view:res.partner:0 +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +#: view:res.partner:base_phone.view_partner_simple_form +#: view:res.partner:base_phone.view_partner_tree msgid "phone" msgstr "phone" - -#. module: base_phone -#: model:ir.model,name:base_phone.model_phone_common -msgid "phone.common" -msgstr "phone.common" - diff --git a/base_phone/i18n/sl.po b/base_phone/i18n/sl.po index f81f9b7..245c71e 100644 --- a/base_phone/i18n/sl.po +++ b/base_phone/i18n/sl.po @@ -1,54 +1,58 @@ -# Translation of OpenERP Server. +# Translation of Odoo Server. # This file contains the translation of the following modules: -# * base_phone -# -# Matjaž Mozetič , 2015. +# * base_phone +# +# Translators: +# Matjaž Mozetič , 2015 msgid "" msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" +"Project-Id-Version: connector-telephony (8.0)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-08-25 21:28+0000\n" -"PO-Revision-Date: 2015-04-05 09:22+0200\n" -"Last-Translator: Matjaž Mozetič \n" -"Language-Team: Slovenian \n" +"POT-Creation-Date: 2015-10-29 13:29+0000\n" +"PO-Revision-Date: 2015-10-29 13:29+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-connector-telephony-8-0/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: \n" "Language: sl\n" -"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #. module: base_phone -#: view:reformat.all.phonenumbers:0 +#: field:number.not.found,calling_number:0 +msgid "Calling Number" +msgstr "Klicna številka" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Cancel" msgstr "Preklic" #. module: base_phone -#: code:addons/base_phone/base_phone.py:95 +#: code:addons/base_phone/base_phone.py:112 #, python-format msgid "" -"Cannot reformat the phone number '%s' to international format. Error message: " -"%s" -msgstr "" -"Ni mogoče pretvoriti telefonske številke '%s' v mednarodni format. Sporočilo " -"o napaki: %s" +"Cannot reformat the phone number '%s' to international format. Error " +"message: %s" +msgstr "Ni mogoče pretvoriti telefonske številke '%s' v mednarodni format. Sporočilo o napaki: %s" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:34 +#: code:addons/base_phone/static/src/js/phone_widget.js:46 #, python-format msgid "Click2dial started" msgstr "Click2dial zagnan" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:46 +#: code:addons/base_phone/static/src/js/phone_widget.js:58 #, python-format msgid "Click2dial successfull" msgstr "Click2dial uspešen" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Close" msgstr "Zaključi" @@ -58,21 +62,33 @@ msgid "Companies" msgstr "Družbe" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:85 +#: code:addons/base_phone/wizard/number_not_found.py:87 #, python-format msgid "Create New Partner" msgstr "Ustvari novega partnerja" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Create Partner with this Number" msgstr "Ustvari partnerja s to številko" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Create or Update a Partner" msgstr "Ustvari ali posodobi partnerja" +#. module: base_phone +#: field:number.not.found,create_uid:0 +#: field:reformat.all.phonenumbers,create_uid:0 +msgid "Created by" +msgstr "Ustvaril" + +#. module: base_phone +#: field:number.not.found,create_date:0 +#: field:reformat.all.phonenumbers,create_date:0 +msgid "Created on" +msgstr "Ustvarjeno" + #. module: base_phone #: field:number.not.found,current_partner_mobile:0 msgid "Current Mobile" @@ -85,11 +101,21 @@ msgstr "Trenutna telefonska številka" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:31 +#: code:addons/base_phone/static/src/js/phone_widget.js:39 #, python-format msgid "Dial" msgstr "Kliči" +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Done" +msgstr "Opravljeno" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Draft" +msgstr "Osnutek" + #. module: base_phone #: field:number.not.found,e164_number:0 msgid "E.164 Number" @@ -101,14 +127,12 @@ msgid "E.164 equivalent of the calling number." msgstr "E.164 ekvivalent klicne številke." #. module: base_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form_simple_modif msgid "Email Preferences" msgstr "Prednostne nastavitve E-pošte" #. module: base_phone -#: code:addons/base_phone/base_phone.py:83 -#: code:addons/base_phone/base_phone.py:94 -#: code:addons/base_phone/wizard/number_not_found.py:99 +#: code:addons/base_phone/wizard/number_not_found.py:101 #, python-format msgid "Error:" msgstr "Napaka:" @@ -123,23 +147,35 @@ msgstr "Fiksni" msgid "Fixed/Mobile" msgstr "Fiksni/Mobilni" +#. module: base_phone +#: field:base.phone.installed,id:0 field:number.not.found,id:0 +#: field:phone.common,id:0 field:reformat.all.phonenumbers,id:0 +msgid "ID" +msgstr "ID" + #. module: base_phone #: help:res.company,number_of_digits_to_match_from_end:0 msgid "" -"In several situations, OpenERP will have to find a Partner/Lead/Employee/... " -"from a phone number presented by the calling party. As the phone numbers " +"In several situations, OpenERP will have to find a Partner/Lead/Employee/..." +" from a phone number presented by the calling party. As the phone numbers " "presented by your phone operator may not always be displayed in a standard " "format, the best method to find the related Partner/Lead/Employee/... in " -"OpenERP is to try to match the end of the phone number in OpenERP with the N " -"last digits of the phone number presented by the calling party. N is the " +"OpenERP is to try to match the end of the phone number in OpenERP with the N" +" last digits of the phone number presented by the calling party. N is the " "value you should enter in this field." -msgstr "" -"V različnih situacijah bo OpenERP moral najti partnerja/indic/kader/ preko " -"številke klicatelja. Ker telefonski operaterji telefonske številke " -"klicateljev ne prikazujejo vedno v standardnem formatu, je najboljša metoda " -"iskanja ustreznega partnerja/indica/kadra/... s primerjanjem končnega dela " -"številke z zadnjimi N znaki telefonske številke klicatelja. N je vrednost, ki " -"se vstavi v to polje." +msgstr "V različnih situacijah bo OpenERP moral najti partnerja/indic/kader/ preko številke klicatelja. Ker telefonski operaterji telefonske številke klicateljev ne prikazujejo vedno v standardnem formatu, je najboljša metoda iskanja ustreznega partnerja/indica/kadra/... s primerjanjem končnega dela številke z zadnjimi N znaki telefonske številke klicatelja. N je vrednost, ki se vstavi v to polje." + +#. module: base_phone +#: field:number.not.found,write_uid:0 +#: field:reformat.all.phonenumbers,write_uid:0 +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: base_phone +#: field:number.not.found,write_date:0 +#: field:reformat.all.phonenumbers,write_date:0 +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" #. module: base_phone #: selection:number.not.found,number_type:0 @@ -147,18 +183,18 @@ msgid "Mobile" msgstr "Mobilni telefon" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number Not Found" msgstr "Številka ni najdena" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number converted to international format:" msgstr "Številka pretvorjena v mednarodni format:" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:47 +#: code:addons/base_phone/static/src/js/phone_widget.js:59 #, python-format msgid "Number dialed:" msgstr "Klicana številka:" @@ -169,7 +205,7 @@ msgid "Number not found" msgstr "Številka ni najdena" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Number not found:" msgstr "Številka ni najdena:" @@ -184,13 +220,23 @@ msgid "Partner" msgstr "Partner" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:105 +#: help:number.not.found,to_update_partner_id:0 +msgid "Partner on which the phone number will be written" +msgstr "Partner, pod katerega se bo zapisala telefonska številka" + +#. module: base_phone +#: field:number.not.found,to_update_partner_id:0 +msgid "Partner to Update" +msgstr "Partner za posodobitev" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:107 #, python-format msgid "Partner: %s" msgstr "Partner: %s" #. module: base_phone -#: view:res.company:0 +#: view:res.company:base_phone.view_company_form msgid "Phone" msgstr "Telefon" @@ -199,13 +245,20 @@ msgstr "Telefon" msgid "Phone CallerID" msgstr "ID klicatelja" +#. module: base_phone +#: help:number.not.found,calling_number:0 +msgid "" +"Phone number of calling party that has been obtained from the telephony " +"server, in the format used by the telephony server (not E.164)." +msgstr "Telefonska številka klicatelja, ki je bila pridobljena iz telefonskega strežnika v formatu strežnika (ne E.164)." + #. module: base_phone #: field:reformat.all.phonenumbers,phonenumbers_not_reformatted:0 msgid "Phone numbers that couldn't be reformatted" msgstr "Telefonske številke, ki niso bile pretvorjene" #. module: base_phone -#: view:reformat.all.phonenumbers:0 +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Phone numbers that couldn't be reformatted:" msgstr "Telefonske številke, ki niso bile pretvorjene:" @@ -217,85 +270,69 @@ msgstr "Pretvorba telefonskih številk" #. module: base_phone #: model:ir.model,name:base_phone.model_reformat_all_phonenumbers -#: view:reformat.all.phonenumbers:0 +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "Reformat all phone numbers" msgstr "Pretvorba vseh telefonskih številk" #. module: base_phone -#: code:addons/base_phone/wizard/number_not_found.py:100 +#: code:addons/base_phone/wizard/number_not_found.py:102 #, python-format msgid "Select the Partner to Update." msgstr "Izbira partnerja za posodobitev" +#. module: base_phone +#: field:reformat.all.phonenumbers,state:0 +msgid "State" +msgstr "Stanje" + #. module: base_phone #: model:ir.ui.menu,name:base_phone.menu_config_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form msgid "Telephony" msgstr "Telefonija" #. module: base_phone -#: view:res.users:0 +#: view:res.users:base_phone.view_users_form +#: view:res.users:base_phone.view_users_form_simple_modif msgid "Telephony Preferences" msgstr "Nastavitve telefonije" #. module: base_phone #: sql_constraint:res.company:0 msgid "" -"The value of the field 'Number of Digits To Match From End' must be positive." -msgstr "" -"Vrednost polja 'Število znakov od konca številke za primerjavo' mora biti " -"pozitivna." +"The value of the field 'Number of Digits To Match From End' must be " +"positive." +msgstr "Vrednost polja 'Število znakov od konca številke za primerjavo' mora biti pozitivna." #. module: base_phone -#: view:reformat.all.phonenumbers:0 +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form msgid "" "This wizard reformats the phone, mobile and fax numbers of all partners in " "standard international format e.g. +33141981242" -msgstr "" -"Čarovnik za pretvorbo telefonskih številk partnerjev v mednarodni format, " -"npr, +33141981242" +msgstr "Čarovnik za pretvorbo telefonskih številk partnerjev v mednarodni format, npr, +33141981242" #. module: base_phone #. openerp-web -#: code:addons/base_phone/static/src/js/phone_widget.js:35 +#: code:addons/base_phone/static/src/js/phone_widget.js:47 #, python-format msgid "Unhook your ringing phone" msgstr "Dvigni slušalko pri zvonjenju" #. module: base_phone -#: view:number.not.found:0 +#: view:number.not.found:base_phone.number_not_found_form msgid "Update Partner with this Number" msgstr "Posodobitev partnerja s to številko" #. module: base_phone -#: constraint:res.partner:0 -msgid "You cannot create recursive Partner hierarchies." -msgstr "Ni mogoče ustvariti rekurzivne hierarhije partnerjev." - -#. module: base_phone -#: code:addons/base_phone/base_phone.py:84 -#, python-format -msgid "You should set a country on the company '%s'" -msgstr "Pri družbi '%s' morate nastaviti državo." - -#. module: base_phone -#: model:ir.model,name:base_phone.model_base_phone_installed -msgid "base.phone.installed" -msgstr "base.phone.installed" - -#. module: base_phone -#: view:res.partner:0 +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form msgid "fax" msgstr "faks" #. module: base_phone -#: view:res.partner:0 +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +#: view:res.partner:base_phone.view_partner_simple_form +#: view:res.partner:base_phone.view_partner_tree msgid "phone" msgstr "telefon" - -#. module: base_phone -#: model:ir.model,name:base_phone.model_phone_common -msgid "phone.common" -msgstr "phone.common" - - diff --git a/base_phone/i18n/tr.po b/base_phone/i18n/tr.po new file mode 100644 index 0000000..5732d5a --- /dev/null +++ b/base_phone/i18n/tr.po @@ -0,0 +1,338 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_phone +# +# Translators: +# Altinisik , 2015 +msgid "" +msgstr "" +"Project-Id-Version: connector-telephony (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-01 04:07+0000\n" +"PO-Revision-Date: 2015-12-18 20:39+0000\n" +"Last-Translator: Altinisik \n" +"Language-Team: Turkish (http://www.transifex.com/oca/OCA-connector-telephony-8-0/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_phone +#: field:number.not.found,calling_number:0 +msgid "Calling Number" +msgstr "Arayan No" + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Cancel" +msgstr "İptal" + +#. module: base_phone +#: code:addons/base_phone/base_phone.py:112 +#, python-format +msgid "" +"Cannot reformat the phone number '%s' to international format. Error " +"message: %s" +msgstr "Telefon numarası '%s' uluslararası formata çevrilemedi. Hata mesajı: %s" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:46 +#, python-format +msgid "Click2dial started" +msgstr "Tıkla çevir başlatıldı" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:58 +#, python-format +msgid "Click2dial successfull" +msgstr "Tıkla çevir başarılı" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Close" +msgstr "Kapat" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_company +msgid "Companies" +msgstr "Şirketler" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:87 +#, python-format +msgid "Create New Partner" +msgstr "Yeni iş ortağı oluştur" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create Partner with this Number" +msgstr "Bu numara ile yeni iş ortağı oluştur" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Create or Update a Partner" +msgstr "Bir iş ortağı Oluştur ya da Güncelle" + +#. module: base_phone +#: field:number.not.found,create_uid:0 +#: field:reformat.all.phonenumbers,create_uid:0 +msgid "Created by" +msgstr "Oluşturan" + +#. module: base_phone +#: field:number.not.found,create_date:0 +#: field:reformat.all.phonenumbers,create_date:0 +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: base_phone +#: field:number.not.found,current_partner_mobile:0 +msgid "Current Mobile" +msgstr "Kayıtlı Cep" + +#. module: base_phone +#: field:number.not.found,current_partner_phone:0 +msgid "Current Phone" +msgstr "Kayıtlı Telefon" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:39 +#, python-format +msgid "Dial" +msgstr "Çevir" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Done" +msgstr "Tamam" + +#. module: base_phone +#: selection:reformat.all.phonenumbers,state:0 +msgid "Draft" +msgstr "Taslak" + +#. module: base_phone +#: field:number.not.found,e164_number:0 +msgid "E.164 Number" +msgstr "E.164 Numara" + +#. module: base_phone +#: help:number.not.found,e164_number:0 +msgid "E.164 equivalent of the calling number." +msgstr "arayan numaranın E.164 eşdeğeri" + +#. module: base_phone +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Email Preferences" +msgstr "E posta Seçenekleri" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:101 +#, python-format +msgid "Error:" +msgstr "Hata:" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Fixed" +msgstr "Sabit" + +#. module: base_phone +#: field:number.not.found,number_type:0 +msgid "Fixed/Mobile" +msgstr "Sabit/Cep" + +#. module: base_phone +#: field:base.phone.installed,id:0 field:number.not.found,id:0 +#: field:phone.common,id:0 field:reformat.all.phonenumbers,id:0 +msgid "ID" +msgstr "ID" + +#. module: base_phone +#: help:res.company,number_of_digits_to_match_from_end:0 +msgid "" +"In several situations, OpenERP will have to find a Partner/Lead/Employee/..." +" from a phone number presented by the calling party. As the phone numbers " +"presented by your phone operator may not always be displayed in a standard " +"format, the best method to find the related Partner/Lead/Employee/... in " +"OpenERP is to try to match the end of the phone number in OpenERP with the N" +" last digits of the phone number presented by the calling party. N is the " +"value you should enter in this field." +msgstr "Bir çok farklı durumda Odoo arayan numaradan bir İş ortağı/Çalışan vs bulmalıdır. Telefon numaraları servis sağlayıcılar tarafından farklı biçimlerde gönderilebildiği için en iyi yöntem telefon numarasının son N hanesi ile eşleşen kaydı bulmaktır. N bu alana girmeniz gereken değerdir." + +#. module: base_phone +#: field:number.not.found,write_uid:0 +#: field:reformat.all.phonenumbers,write_uid:0 +msgid "Last Updated by" +msgstr "Son güncelleyen" + +#. module: base_phone +#: field:number.not.found,write_date:0 +#: field:reformat.all.phonenumbers,write_date:0 +msgid "Last Updated on" +msgstr "Son güncellendiği" + +#. module: base_phone +#: selection:number.not.found,number_type:0 +msgid "Mobile" +msgstr "Cep" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number Not Found" +msgstr "Numara bulunamadı" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number converted to international format:" +msgstr "Uluslarası biçime çevrilen numara:" + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:59 +#, python-format +msgid "Number dialed:" +msgstr "Aranan numara:" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_number_not_found +msgid "Number not found" +msgstr "Numara bulunamadı" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Number not found:" +msgstr "Numara bulunamadı:" + +#. module: base_phone +#: field:res.company,number_of_digits_to_match_from_end:0 +msgid "Number of Digits To Match From End" +msgstr "Sondan eşleştirilecek rakam adedi" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_res_partner +msgid "Partner" +msgstr "İş Ortağı" + +#. module: base_phone +#: help:number.not.found,to_update_partner_id:0 +msgid "Partner on which the phone number will be written" +msgstr "Telefon numarasının yazılacağı iş ortağı" + +#. module: base_phone +#: field:number.not.found,to_update_partner_id:0 +msgid "Partner to Update" +msgstr "Güncellenecek iş ortağı" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:107 +#, python-format +msgid "Partner: %s" +msgstr "iş ortağı: %s" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +msgid "Phone" +msgstr "Telefon" + +#. module: base_phone +#: model:res.groups,name:base_phone.group_callerid +msgid "Phone CallerID" +msgstr "Telefon CallerID" + +#. module: base_phone +#: help:number.not.found,calling_number:0 +msgid "" +"Phone number of calling party that has been obtained from the telephony " +"server, in the format used by the telephony server (not E.164)." +msgstr "Sizi arayan numaranın telefon sunucusundan alınan telefon numarası (E.164 değil)" + +#. module: base_phone +#: field:reformat.all.phonenumbers,phonenumbers_not_reformatted:0 +msgid "Phone numbers that couldn't be reformatted" +msgstr "yeniden biçimlendirilemeyen telefon numaraları " + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Phone numbers that couldn't be reformatted:" +msgstr "Yeniden biçimlendirilemeyen telefon numaraları:" + +#. module: base_phone +#: model:ir.actions.act_window,name:base_phone.reformat_all_phonenumbers_action +#: model:ir.ui.menu,name:base_phone.reformat_all_phonenumbers_menu +msgid "Reformat Phone Numbers" +msgstr "Telefon numaralarını yeniden biçimlendir" + +#. module: base_phone +#: model:ir.model,name:base_phone.model_reformat_all_phonenumbers +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "Reformat all phone numbers" +msgstr "Bütün telefon numaralarını yeniden biçimlendir" + +#. module: base_phone +#: code:addons/base_phone/wizard/number_not_found.py:102 +#, python-format +msgid "Select the Partner to Update." +msgstr "Güncellenecek iş ortağını seçin." + +#. module: base_phone +#: field:reformat.all.phonenumbers,state:0 +msgid "State" +msgstr "Durum" + +#. module: base_phone +#: model:ir.ui.menu,name:base_phone.menu_config_phone +#: view:res.users:base_phone.view_users_form +msgid "Telephony" +msgstr "Telefon" + +#. module: base_phone +#: view:res.users:base_phone.view_users_form +#: view:res.users:base_phone.view_users_form_simple_modif +msgid "Telephony Preferences" +msgstr "Telefon Ayarları" + +#. module: base_phone +#: sql_constraint:res.company:0 +msgid "" +"The value of the field 'Number of Digits To Match From End' must be " +"positive." +msgstr "'Sondan eşleştirilecek rakam adedi' alanına sadece pozitif sayılar girilmelidir." + +#. module: base_phone +#: view:reformat.all.phonenumbers:base_phone.reformat_all_phonenumbers_form +msgid "" +"This wizard reformats the phone, mobile and fax numbers of all partners in " +"standard international format e.g. +33141981242" +msgstr "Bu sihirbaz Cep, sabit telefon ve faks numaralarını standart E.164 uluslararası biçime sokar." + +#. module: base_phone +#. openerp-web +#: code:addons/base_phone/static/src/js/phone_widget.js:47 +#, python-format +msgid "Unhook your ringing phone" +msgstr "Çalan telefonunuzu açın" + +#. module: base_phone +#: view:number.not.found:base_phone.number_not_found_form +msgid "Update Partner with this Number" +msgstr "İş ortağını bu numara ile güncelle" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +msgid "fax" +msgstr "Faks" + +#. module: base_phone +#: view:res.company:base_phone.view_company_form +#: view:res.partner:base_phone.view_partner_form +#: view:res.partner:base_phone.view_partner_simple_form +#: view:res.partner:base_phone.view_partner_tree +msgid "phone" +msgstr "telefon" diff --git a/base_phone/report_sxw_format.py b/base_phone/report_sxw_format.py index 91a48f7..3ba94e6 100644 --- a/base_phone/report_sxw_format.py +++ b/base_phone/report_sxw_format.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # # Base Phone module for OpenERP @@ -19,12 +19,12 @@ # ############################################################################## -from openerp.osv import orm +from openerp import models from openerp.report import report_sxw import phonenumbers -class base_phone_installed(orm.AbstractModel): +class BasePhoneInstalled(models.AbstractModel): '''When you use monkey patching, the code is executed when the module is in the addons_path of the OpenERP server, even is the module is not installed ! In order to avoid the side-effects it can create, diff --git a/base_phone/res_partner_view.xml b/base_phone/res_partner_view.xml index 28bf5e5..b3b0d22 100644 --- a/base_phone/res_partner_view.xml +++ b/base_phone/res_partner_view.xml @@ -8,40 +8,14 @@ - - base.phone.res.partner.simplified.form - res.partner - - - - phone - - - phone - - - - base.phone.res.partner.form res.partner - - phone - - - phone - fax - - phone - - - phone - diff --git a/base_phone/res_users_view.xml b/base_phone/res_users_view.xml index c9962f7..37043bb 100644 --- a/base_phone/res_users_view.xml +++ b/base_phone/res_users_view.xml @@ -28,11 +28,11 @@ res.users - + - + diff --git a/base_phone/static/src/js/phone_widget.js b/base_phone/static/src/js/phone_widget.js index 8f75b4d..7202135 100644 --- a/base_phone/static/src/js/phone_widget.js +++ b/base_phone/static/src/js/phone_widget.js @@ -1,12 +1,16 @@ -/* Base phone module for OpenERP - Copyright (C) 2013-2014 Alexis de Lattre +/* Base phone module for Odoo + Copyright (C) 2013-2015 Alexis de Lattre The licence is in the file __openerp__.py */ -openerp.base_phone = function (instance) { +odoo.define('base_phone.phone_widget', function (require) { +"use strict"; - var _t = instance.web._t; +var core = require('web.core'); +var formwidgets = require('web.form_widgets'); +var _t = core._t; - instance.base_phone.FieldPhone = instance.web.form.FieldChar.extend({ + +var FieldPhone = formwidgets.FieldChar.extend({ template: 'FieldPhone', initialize_content: function() { this._super(); @@ -20,7 +24,7 @@ openerp.base_phone = function (instance) { } else { var self = this; var phone_num = this.get('value'); - //console.log('BASE_PHONE phone_num = %s', phone_num); + // console.log('BASE_PHONE phone_num = %s', phone_num); var href = '#'; var href_text = ''; if (phone_num) { @@ -50,7 +54,7 @@ openerp.base_phone = function (instance) { 'click2dial_model': self.view.dataset.model, 'click2dial_id': self.view.datarecord.id}; self.rpc('/base_phone/click2dial', arg).done(function(r) { - //console.log('Click2dial r=%s', JSON.stringify(r)); + // console.log('Click2dial r=%s', JSON.stringify(r)); if (r === false) { self.do_warn("Click2dial failed"); } else if (typeof r === 'object') { @@ -72,7 +76,7 @@ openerp.base_phone = function (instance) { target: 'new', context: context, }; - instance.client.action_manager.do_action(action); + formwidgets.client.action_manager.do_action(action); } } }); @@ -84,9 +88,8 @@ openerp.base_phone = function (instance) { } }); - instance.web.form.widgets.add('phone', 'instance.base_phone.FieldPhone'); - instance.base_phone.FieldFax = instance.web.form.FieldChar.extend({ +var FieldFax = formwidgets.FieldChar.extend({ template: 'FieldFax', initialize_content: function() { this._super(); @@ -99,7 +102,7 @@ openerp.base_phone = function (instance) { this._super(); } else { var fax_num = this.get('value'); - //console.log('BASE_PHONE fax_num = %s', fax_num); + // console.log('BASE_PHONE fax_num = %s', fax_num); var href = '#'; var href_text = ''; if (fax_num) { @@ -120,17 +123,36 @@ openerp.base_phone = function (instance) { } }); - instance.web.form.widgets.add('fax', 'instance.base_phone.FieldFax'); +// To avoid conflicts, we check that widgets do not exist before using +if(!core.form_widget_registry.get('fax')){ + core.form_widget_registry.add('fax', FieldFax); +} + +if(!core.form_widget_registry.get('phone')){ + core.form_widget_registry.add('phone', FieldPhone); +} - /* ability to add widget="phone" in TREE view */ - var _super_list_char_format_ = instance.web.list.Char.prototype._format; - instance.web.list.Char.prototype._format = function(row_data, options) { - res = _super_list_char_format_.call(this, row_data, options); +/* +var Column = require('web.list_view.js'); + +var ColumnPhone = Column.extend({ + // ability to add widget="phone" in TREE view + _format: function(row_data, options) { + console.log('row_data=' + row_data); + console.log('options='); + console.log(options); var value = row_data[this.id].value; if (value && this.widget === 'phone') { - return formatInternational('', value); + readable_space = formatInternational('', value); + readable_no_break_space = readable_space.replace(/\s/g, ' '); + return readable_no_break_space; } - return res; - }; + console.log('return normal'); + return this._super(row_data, options); + } +}); + -}; +core.list_widget_registry.add('field.phone', ColumnPhone); +*/ +}); diff --git a/base_phone/static/src/xml/phone.xml b/base_phone/static/src/xml/phone.xml index 7c5aae4..71711b5 100644 --- a/base_phone/static/src/xml/phone.xml +++ b/base_phone/static/src/xml/phone.xml @@ -1,7 +1,7 @@ diff --git a/base_phone/test/phonenum.yml b/base_phone/test/phonenum.yml index e1e320e..27aa6d7 100644 --- a/base_phone/test/phonenum.yml +++ b/base_phone/test/phonenum.yml @@ -1,3 +1,8 @@ +- + Write country = FR for the main company +- + !record {model: res.company, id: base.main_company}: + country_id: base.fr - Write french phone numbers in national format - diff --git a/base_phone/wizard/number_not_found.py b/base_phone/wizard/number_not_found.py index 4fc4a5b..510a2c1 100644 --- a/base_phone/wizard/number_not_found.py +++ b/base_phone/wizard/number_not_found.py @@ -1,4 +1,4 @@ -# -*- encoding: utf-8 -*- +# -*- coding: utf-8 -*- ############################################################################## # # Base Phone module for Odoo @@ -19,7 +19,7 @@ # ############################################################################## -from openerp.osv import orm, fields +from openerp import models, fields, api, exceptions from openerp.tools.translate import _ import logging import phonenumbers @@ -27,43 +27,40 @@ import phonenumbers _logger = logging.getLogger(__name__) -class number_not_found(orm.TransientModel): +class NumberNotFound(models.TransientModel): _name = "number.not.found" _description = "Number not found" - _columns = { - 'calling_number': fields.char( - 'Calling Number', size=64, readonly=True, - help="Phone number of calling party that has been obtained " - "from the telephony server, in the format used by the " - "telephony server (not E.164)."), - 'e164_number': fields.char( - 'E.164 Number', size=64, - help="E.164 equivalent of the calling number."), - 'number_type': fields.selection( - [('phone', 'Fixed'), ('mobile', 'Mobile')], - 'Fixed/Mobile', required=True), - 'to_update_partner_id': fields.many2one( - 'res.partner', 'Partner to Update', - help="Partner on which the phone number will be written"), - 'current_partner_phone': fields.related( - 'to_update_partner_id', 'phone', type='char', - relation='res.partner', string='Current Phone', readonly=True), - 'current_partner_mobile': fields.related( - 'to_update_partner_id', 'mobile', type='char', - relation='res.partner', string='Current Mobile', readonly=True), - } + calling_number = fields.Char(string='Calling Number', size=64, + readonly=True, + help="Phone number of calling party that has " + "been obtained from the telephony server, in " + "the format used by the telephony server " + "(not E.164).") + e164_number = fields.Char(string='E.164 Number', size=64, + help="E.164 equivalent of the calling number.") + number_type = fields.Selection(selection=[ + ('phone', 'Fixed'), + ('mobile', 'Mobile') + ], string='Fixed/Mobile', required=True) + to_update_partner_id = fields.Many2one(comodel_name='res.partner', + string='Partner to Update', + help="Partner on which the phone " + "number will be written") + current_partner_phone = fields.Char(related='to_update_partner_id.phone', + string='Current Phone', readonly=True) + current_partner_mobile = fields.Char(related='to_update_partner_id.mobile', + string='Current Mobile', + readonly=True) - def default_get(self, cr, uid, fields_list, context=None): - res = super(number_not_found, self).default_get( - cr, uid, fields_list, context=context - ) + @api.model + def default_get(self, fields_list): + res = super(NumberNotFound, self).default_get(fields_list) if not res: res = {} if res.get('calling_number'): - convert = self.pool['res.partner']._generic_reformat_phonenumbers( - cr, uid, None, {'phone': res.get('calling_number')}, - context=context) + convert = self.env['res.partner']._generic_reformat_phonenumbers( + None, {'phone': res.get('calling_number')}) parsed_num = phonenumbers.parse(convert.get('phone')) res['e164_number'] = phonenumbers.format_number( parsed_num, phonenumbers.PhoneNumberFormat.INTERNATIONAL) @@ -74,15 +71,15 @@ class number_not_found(orm.TransientModel): res['number_type'] = 'phone' return res - def create_partner(self, cr, uid, ids, context=None): + @api.multi + def create_partner(self): '''Function called by the related button of the wizard''' - if context is None: - context = {} - wiz = self.browse(cr, uid, ids[0], context=context) + wiz = self[0] parsed_num = phonenumbers.parse(wiz.e164_number, None) phonenumbers.number_type(parsed_num) - context['default_%s' % wiz.number_type] = wiz.e164_number + context = dict(self._context or {}) + context.update({'default_%s' % wiz.number_type: wiz.e164_number}) action = { 'name': _('Create New Partner'), 'view_mode': 'form,tree,kanban', @@ -91,18 +88,19 @@ class number_not_found(orm.TransientModel): 'nodestroy': False, 'target': 'current', 'context': context, - } + } return action - def update_partner(self, cr, uid, ids, context=None): - wiz = self.browse(cr, uid, ids[0], context=context) + @api.multi + def update_partner(self): + wiz = self[0] if not wiz.to_update_partner_id: - raise orm.except_orm( - _('Error:'), - _("Select the Partner to Update.")) - self.pool['res.partner'].write( - cr, uid, wiz.to_update_partner_id.id, - {wiz.number_type: wiz.e164_number}, context=context) + raise exceptions.Warning( + _('Error'), + _('Select the Partner to Update.')) + self.env['res.partner'].write( + wiz.to_update_partner_id.id, + {wiz.number_type: wiz.e164_number}) action = { 'name': _('Partner: %s' % wiz.to_update_partner_id.name), 'type': 'ir.actions.act_window', @@ -111,23 +109,11 @@ class number_not_found(orm.TransientModel): 'nodestroy': False, 'target': 'current', 'res_id': wiz.to_update_partner_id.id, - 'context': context, - } + 'context': self._context, + } return action - def onchange_to_update_partner( - self, cr, uid, ids, to_update_partner_id, context=None): - res = {'value': {}} - if to_update_partner_id: - to_update_partner = self.pool['res.partner'].browse( - cr, uid, to_update_partner_id, context=context) - res['value'].update({ - 'current_partner_phone': to_update_partner.phone, - 'current_partner_mobile': to_update_partner.mobile, - }) - else: - res['value'].update({ - 'current_partner_phone': False, - 'current_partner_mobile': False, - }) - return res + @api.onchange('to_update_partner_id') + def onchange_to_update_partner(self): + self.current_partner_phone = self.to_update_partner.phone or False + self.current_partner_mobile = self.to_update_partner.mobile or False diff --git a/base_phone/wizard/number_not_found_view.xml b/base_phone/wizard/number_not_found_view.xml index f88b49f..24d951e 100644 --- a/base_phone/wizard/number_not_found_view.xml +++ b/base_phone/wizard/number_not_found_view.xml @@ -32,8 +32,7 @@ colspan="1" col="2">