Browse Source

Add 'variable' field on res.users

New design of the pop-up "open calling partner" when the calling number is not found
When calling number is not found, now also proposes to update an existing contact
Update French translation
Update module description
pull/26/head
Alexis de Lattre 12 years ago
parent
commit
d872a4fdbb
  1. 2
      asterisk_click2dial/__openerp__.py
  2. 118
      asterisk_click2dial/asterisk_click2dial.py
  3. 363
      asterisk_click2dial/i18n/asterisk_click2dial.pot
  4. 170
      asterisk_click2dial/i18n/fr.po
  5. 44
      asterisk_click2dial/res_partner_view.xml
  6. 1
      asterisk_click2dial/res_users_view.xml

2
asterisk_click2dial/__openerp__.py

@ -44,7 +44,7 @@ phone number is present in the partner addresses of OpenERP. Here is how it work
3) It adds a button "Open calling partner" in the menu "Sales > Address book" to get the partner corresponding to the calling party in one click. Here is how it works :
. When the user clicks on the "Open calling partner" button, OpenERP sends a query to the Asterisk Manager Interface to get a list of the current phone calls
. If it finds a phone call involving the user's phone, it gets the phone number of the calling party
. It searches the phone number of the calling party in the Partner addresses of OpenERP. If a record matches, it shows the name of the related Partner and proposes to open it, or open its related sale orders or invoices. If no record matches, it proposes to create a new partner with the presented phone number as 'Phone' or 'Mobile' number.
. It searches the phone number of the calling party in the Partner addresses of OpenERP. If a record matches, it shows the name of the related Partner and proposes to open it, or open its related sale orders or invoices. If no record matches, it proposes to create a new Contact with the presented phone number as 'Phone' or 'Mobile' number or update an existing Contact.
A detailed documentation for this module is available on the Akretion Web site : http://www.akretion.com/en/products-and-services/openerp-asterisk-voip-connector """,
'author': 'Akretion',

118
asterisk_click2dial/asterisk_click2dial.py

@ -283,10 +283,14 @@ class asterisk_server(osv.osv):
'Context: ' + ast_server.context + '\r\n'
if ast_server.alert_info and user.asterisk_chan_type == 'SIP':
for server_alertinfo in ast_server.alert_info.split('|'):
originate_act += 'Variable: SIPAddHeader=Alert-Info: ' + server_alertinfo + '\r\n'
originate_act += 'Variable: SIPAddHeader=Alert-Info: ' + server_alertinfo.strip() + '\r\n'
if user.alert_info and user.asterisk_chan_type == 'SIP':
for user_alertinfo in user.alert_info.split('|'):
originate_act += 'Variable: SIPAddHeader=Alert-Info: ' + user_alertinfo + '\r\n'
originate_act += 'Variable: SIPAddHeader=Alert-Info: ' + user_alertinfo.strip() + '\r\n'
if user.variable:
for user_variable in user.variable.split('|'):
originate_act += 'Variable: ' + user_variable.strip() + '\r\n'
originate_act += '\r\n'
sock.send(originate_act.encode('ascii'))
originate_answer = self._parse_asterisk_answer(cr, uid, sock, context=context)
@ -371,6 +375,7 @@ class res_users(osv.osv):
], 'Asterisk channel type',
help="Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."),
'alert_info': fields.char('User-specific Alert-Info SIP header', size=255, help="Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."),
'variable': fields.char('User-specific Variable', size=255, help="Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."),
'asterisk_server_id': fields.many2one('asterisk.server', 'Asterisk server',
help="Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."),
}
@ -436,6 +441,7 @@ class res_partner_address(osv.osv):
else:
return False
def get_partner_from_phone_number(self, cr, uid, number, context=None):
res = {}
# We check that "number" is really a number
@ -470,9 +476,12 @@ class wizard_open_calling_partner(osv.osv_memory):
_description = "Open calling partner"
_columns = {
'calling_number': fields.char('Calling number', size=30, help="Phone number of calling party that has been obtained from Asterisk."),
'partner_address_id': fields.many2one('res.partner.address', 'Partner address', help="Partner address related to the calling number"),
'partner_id': fields.many2one('res.partner', 'Partner', help="Partner related to the calling number"),
'calling_number': fields.char('Calling number', size=30, readonly=True, help="Phone number of calling party that has been obtained from Asterisk."),
'partner_address_id': fields.many2one('res.partner.address', 'Contact name', readonly=True, help="Partner contact related to the calling number"),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True, help="Partner related to the calling number"),
'to_update_partner_address_id': fields.many2one('res.partner.address', 'Contact to update', help="Partner contact on which the phone or mobile number will be written"),
'current_phone': fields.related('to_update_partner_address_id', 'phone', type='char', relation='res.partner.address', string='Current phone', readonly=True),
'current_mobile': fields.related('to_update_partner_address_id', 'mobile', type='char', relation='res.partner.address', string='Current mobile', readonly=True),
}
@ -503,6 +512,7 @@ class wizard_open_calling_partner(osv.osv_memory):
return res
def open_filtered_object(self, cr, uid, ids, oerp_object, context=None):
'''Returns the action that opens the list view of the 'oerp_object'
given as argument filtered on the partner'''
@ -528,34 +538,53 @@ class wizard_open_calling_partner(osv.osv_memory):
else:
return False
def open_sale_orders(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
return self.open_filtered_object(cr, uid, ids, self.pool.get('sale.order'), context=context)
def open_invoices(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
return self.open_filtered_object(cr, uid, ids, self.pool.get('account.invoice'), context=context)
def open_partner(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
partner = self.read(cr, uid, ids[0], ['partner_id'], context=context)['partner_id']
if partner:
action = {
'name': 'Calling partner',
def simple_open(self, cr, uid, ids, object_name='res.partner', context=None):
if object_name == 'res.partner':
field = 'partner_id'
label = 'Partner'
elif object_name == 'res.partner.address':
field = 'partner_address_id'
label = 'Contact'
else:
raise osv.except_osv(_('Error :'), "This object '%s' is not supported" % object_name)
record_to_open = self.read(cr, uid, ids[0], [field], context=context)[field]
if record_to_open:
return {
'name': label,
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_model': object_name,
'type': 'ir.actions.act_window',
'nodestroy': False, # close the pop-up wizard after action
'target': 'current',
'res_id': [partner[0]],
'res_id': [record_to_open[0]],
}
return action
else:
return False
def create_new_partner(self, cr, uid, ids, phone_type='phone', context=None):
def open_partner(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
return self.simple_open(cr, uid, ids, object_name='res.partner', context=context)
def open_partner_address(self, cr, uid, ids, context=None):
'''Function called by the related button of the wizard'''
return self.simple_open(cr, uid, ids, object_name='res.partner.address', context=context)
def create_partner_address(self, cr, uid, ids, phone_type='phone', context=None):
'''Function called by the related button of the wizard'''
calling_number = self.read(cr, uid, ids[0], ['calling_number'], context=context)['calling_number']
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
@ -563,26 +592,65 @@ class wizard_open_calling_partner(osv.osv_memory):
# Convert the number to the international format
number_to_write = self.pool.get('asterisk.server')._convert_number_to_international_format(cr, uid, calling_number, ast_server, context=context)
new_partner_dict = {'name': 'ENTER PARTNER NAME',
'address': [(0,0, {phone_type: number_to_write})]}
new_partner_id = self.pool.get('res.partner').create(cr, uid, new_partner_dict, context=context)
new_partner_address_id = self.pool.get('res.partner.address').create(cr, uid, {phone_type: number_to_write}, context=context)
action = {
'name': 'Create new partner',
'name': 'Create new contact',
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner',
'res_model': 'res.partner.address',
'type': 'ir.actions.act_window',
'nodestroy': False,
'target': 'current',
'res_id': [new_partner_id],
'res_id': [new_partner_address_id],
}
return action
def create_new_partner_phone(self, cr, uid, ids, context=None):
return self.create_new_partner(cr, uid, ids, phone_type='phone', context=context)
def create_new_partner_mobile(self, cr, uid, ids, context=None):
return self.create_new_partner(cr, uid, ids, phone_type='mobile', context=context)
def create_partner_address_phone(self, cr, uid, ids, context=None):
return self.create_partner_address(cr, uid, ids, phone_type='phone', context=context)
def create_partner_address_mobile(self, cr, uid, ids, context=None):
return self.create_partner_address(cr, uid, ids, phone_type='mobile', context=context)
def update_partner_address(self, cr, uid, ids, phone_type='mobile', context=None):
cur_wizard = self.browse(cr, uid, ids[0], context=context)
if not cur_wizard.to_update_partner_address_id:
raise osv.except_osv(_('Error :'), _("Select the contact to update."))
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
ast_server = self.pool.get('asterisk.server')._get_asterisk_server_from_user(cr, uid, user, context=context)
number_to_write = self.pool.get('asterisk.server')._convert_number_to_international_format(cr, uid, cur_wizard.calling_number, ast_server, context=context)
self.pool.get('res.partner.address').write(cr, uid, cur_wizard.to_update_partner_address_id.id, {phone_type: number_to_write}, context=context)
action = {
'name': 'Contact: ' + cur_wizard.to_update_partner_address_id.name,
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'res.partner.address',
'type': 'ir.actions.act_window',
'nodestroy': False,
'target': 'current',
'res_id': [cur_wizard.to_update_partner_address_id.id]
}
return action
def update_partner_address_phone(self, cr, uid, ids, context=None):
return self.update_partner_address(cr, uid, ids, phone_type='phone', context=context)
def update_partner_address_mobile(self, cr, uid, ids, context=None):
return self.update_partner_address(cr, uid, ids, phone_type='mobile', context=context)
def onchange_to_update_partner_address(self, cr, uid, ids, to_update_partner_address_id, context=None):
to_update_partner_address = self.pool.get('res.partner.address').browse(cr, uid, to_update_partner_address_id, context=context)
res = {}
res['value'] = {}
res['value'].update({'current_phone': to_update_partner_address.phone,
'current_mobile': to_update_partner_address.mobile})
return res
wizard_open_calling_partner()

363
asterisk_click2dial/i18n/asterisk_click2dial.pot

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-27 16:43+0000\n"
"PO-Revision-Date: 2012-05-27 16:43+0000\n"
"POT-Creation-Date: 2012-05-28 19:58+0000\n"
"PO-Revision-Date: 2012-05-28 19:58+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -19,153 +19,135 @@ msgstr ""
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Dial"
msgstr ""
msgstr "Appeler"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "SIP"
msgstr ""
msgstr "SIP"
#. module: asterisk_click2dial
#: help:asterisk.server,ip_address:0
msgid "IP address or DNS name of the Asterisk server."
msgstr ""
msgstr "Adresse IP ou DNS du serveur Asterisk."
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,current_phone:0
msgid "Current phone"
msgstr "Current phone"
#. module: asterisk_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
msgstr ""
msgstr "Identification de l'appelant"
#. module: asterisk_click2dial
#: field:asterisk.server,wait_time:0
msgid "Wait time (sec)"
msgstr ""
msgstr "Temps d'attente (sec)"
#. module: asterisk_click2dial
#: field:asterisk.server,context:0
msgid "Dialplan context"
msgstr ""
msgstr "Contexte du dialplan"
#. module: asterisk_click2dial
#: field:asterisk.server,company_id:0
msgid "Company"
msgstr ""
msgstr "Société"
#. module: asterisk_click2dial
#: help:asterisk.server,out_prefix:0
msgid "Prefix to dial to place outgoing calls. If you don't use a prefix to place outgoing calls, leave empty."
msgstr ""
msgstr "Préfixe à composer pour appeler vers l'extérieur. Si vous n'avez pas à composer un préfixe pour appeler vers l'extérieur, laissez vide."
#. module: asterisk_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr ""
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:111
#, python-format
msgid "The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42"
msgstr "Le numéro de téléphone n'est pas dans un format international valide. Exemple de numéro de téléphone dans un format international valide : +33 1 41 98 12 42"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "IAX2"
msgstr ""
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:113
#, python-format
msgid "The phone number is not written in valid format."
msgstr "Le numéro de téléphone n'est pas dans un format valide."
#. module: asterisk_click2dial
#: field:asterisk.server,national_prefix:0
msgid "National prefix"
msgstr ""
msgstr "Préfixe national"
#. module: asterisk_click2dial
#: help:asterisk.server,national_format_allowed:0
msgid "Do we allow to use click2dial on phone numbers written in national format, e.g. 01 41 98 12 42, or only in the international format, e.g. +33 1 41 98 12 42 ?"
msgstr ""
msgstr "Do we allow to use click2dial on phone numbers written in national format, e.g. 01 41 98 12 42, or only in the international format, e.g. +33 1 41 98 12 42 ?"
#. module: asterisk_click2dial
#: field:asterisk.server,out_prefix:0
msgid "Out prefix"
msgstr ""
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:244
#, python-format
msgid "Can't resolve the DNS of the Asterisk server : '%s'\" % ast_server.ip_address))\n"
" for result in res:\n"
" af, socktype, proto, canonname, sockaddr = result\n"
" sock = socket.socket(af, socktype, proto)\n"
" try:\n"
" sock.connect(sockaddr)\n"
" header_received = sock.recv(1024)\n"
" _logger.debug('Header received from Asterisk : %s' % header_received)\n"
"\n"
" # Login to Asterisk\n"
" login_act = 'Action: login \n"
"' + 'Events: off \n"
"' + 'Username: ' + ast_server.login + ' \n"
"' + 'Secret: ' + ast_server.password + ' \n"
" \n"
"'\n"
" sock.send(login_act.encode('ascii'))\n"
" login_answer = self._parse_asterisk_answer(cr, uid, sock, context=context)\n"
" if 'Response: Success' in login_answer:\n"
" _logger.debug(\"Successful authentification to Asterisk :\n"
"%s\" % login_answer)\n"
" else:\n"
" raise osv.except_osv(_('Error :'), _(\"Authentification to Asterisk failed :\n"
"%s\" % login_answer))\n"
"\n"
" if method == 'dial':\n"
" # Convert the phone number in the format that will be sent to Asterisk\n"
" erp_number = options.get('erp_number')\n"
" if not erp_number:\n"
" raise osv.except_osv(_('Error :'), \"Hara kiri : you must call the function with erp_number in the options"
msgstr ""
msgstr "Préfixe pour l'extérieur"
#. module: asterisk_click2dial
#: help:asterisk.server,port:0
msgid "TCP port on which the Asterisk Manager Interface listens. Defined in /etc/asterisk/manager.conf on Asterisk."
msgstr ""
msgstr "Port TCP sur lequel écoute l'interface du Manager Asterisk. Cf /etc/asterisk/manager.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Update an existing contact"
msgstr "Update an existing contact"
#. module: asterisk_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
msgstr ""
msgstr "Numéro interne"
#. module: asterisk_click2dial
#: field:res.users,asterisk_chan_type:0
msgid "Asterisk channel type"
msgstr ""
msgstr "Type de canal Asterisk"
#. module: asterisk_click2dial
#: constraint:asterisk.server:0
#: constraint:res.users:0
msgid "Error message in raise"
msgstr ""
msgstr "Error message in raise"
#. module: asterisk_click2dial
#: help:asterisk.server,national_prefix:0
msgid "Prefix for national phone calls (don't include the 'out prefix'). For e.g., in France, the phone numbers look like '01 41 98 12 42' : the National prefix is '0'."
msgstr ""
msgstr "Préfixe pour les appels nationaux (ne pas inclure le préfixe pour l'extérieur). Par exemple, en France, les numéros de téléphone sont du type '01 41 98 12 42' ; le préfixe national est '0'."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create a new contact"
msgstr "Create a new contact"
#. module: asterisk_click2dial
#: help:asterisk.server,password:0
msgid "Password that Asterisk will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."
msgstr ""
msgstr "Password that Asterisk will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,calling_number:0
msgid "Calling number"
msgstr ""
msgstr "Numéro appelant"
#. module: asterisk_click2dial
#: field:res.users,alert_info:0
msgid "User-specific Alert-Info SIP header"
msgstr ""
msgstr "En-tête SIP Alert-Info spécifique à l'utilisateur"
#. module: asterisk_click2dial
#: help:asterisk.server,active:0
msgid "The active field allows you to hide the Asterisk server without deleting it."
msgstr ""
msgstr "The active field allows you to hide the Asterisk server without deleting it."
#. module: asterisk_click2dial
#: view:res.users:0
msgid "Telephony"
msgstr ""
msgstr "Téléphonie"
#. module: asterisk_click2dial
#: view:asterisk.server:0
@ -173,65 +155,74 @@ msgstr ""
#: model:ir.ui.menu,name:asterisk_click2dial.act_menu_ast_server
#: field:res.company,asterisk_server_ids:0
msgid "Asterisk servers"
msgstr ""
msgstr "Serveurs Asterisk"
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,partner_id:0
msgid "Partner related to the calling number"
msgstr ""
msgstr "Partenaire associé au numéro appelant"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,partner_id:0
msgid "Partner"
msgstr ""
msgstr "Partenaire"
#. module: asterisk_click2dial
#: field:asterisk.server,alert_info:0
msgid "Alert-Info SIP header"
msgstr ""
msgstr "En-tête SIP Alert-Info SIP"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "mISDN"
msgstr ""
msgstr "mISDN"
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_res_company
msgid "Companies"
msgstr ""
msgstr "Sociétés"
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,partner_address_id:0
msgid "Partner contact related to the calling number"
msgstr "Partner contact related to the calling number"
#. module: asterisk_click2dial
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr ""
msgstr "Erreur ! Vous ne pouvez pas créer de sociétés récursives"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:274
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:275
#, python-format
msgid "No callerID configured for the current user"
msgstr ""
msgstr "No callerID configured for the current user"
#. module: asterisk_click2dial
#: field:asterisk.server,national_format_allowed:0
msgid "National format allowed ?"
msgstr "Format national autorisé ?"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:507
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:511
#, python-format
msgid "Could not get the calling number from Asterisk. Check your setup and look at the OpenERP debug logs."
msgstr ""
msgstr "Could not get the calling number from Asterisk. Check your setup and look at the OpenERP debug logs."
#. module: asterisk_click2dial
#: help:asterisk.server,name:0
msgid "Asterisk server name."
msgstr ""
msgstr "Nom du serveur Asterisk."
#. module: asterisk_click2dial
#: field:asterisk.server,country_prefix:0
msgid "My country prefix"
msgstr ""
msgstr "Préfixe du pays"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:113
#, python-format
msgid "The phone number is not written in valid format."
msgstr ""
#: selection:res.users,asterisk_chan_type:0
msgid "IAX2"
msgstr "IAX2"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:80
@ -243,311 +234,335 @@ msgstr ""
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:229
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:233
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:244
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:263
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:269
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:274
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:300
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:310
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:338
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:394
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:413
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:507
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:518
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:264
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:270
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:275
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:301
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:311
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:339
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:395
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:414
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:511
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:522
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:614
#, python-format
msgid "Error :"
msgstr ""
msgstr "Erreur :"
#. module: asterisk_click2dial
#: help:res.users,internal_number:0
msgid "User's internal phone number."
msgstr ""
msgstr "Numéro de téléphone interne de l'utilisateur."
#. module: asterisk_click2dial
#: model:ir.actions.act_window,name:asterisk_click2dial.action_open_calling_partner
#: model:ir.ui.menu,name:asterisk_click2dial.menu_open_calling_partner_sales
#: view:wizard.open.calling.partner:0
msgid "Open calling partner"
msgstr ""
msgstr "Ouvrir le partenaire appelant"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:414
#, python-format
msgid "There is no phone number !"
msgstr "Il n'y a pas de numéro de téléphone !"
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_wizard_open_calling_partner
msgid "wizard.open.calling.partner"
msgstr ""
msgstr "wizard.open.calling.partner"
#. module: asterisk_click2dial
#: help:asterisk.server,international_prefix:0
msgid "Prefix to add to make international phone calls (don't include the 'out prefix'). For e.g., in France, the International prefix is '00'."
msgstr ""
msgstr "Préfixe à ajouter pour passer des appels vers l'étranger (ne pas inclure le préfixe pour l'extérieur). Par exemple, en France, le préfixe pour l'international est '00'."
#. module: asterisk_click2dial
#: help:res.users,asterisk_chan_type:0
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgstr ""
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,partner_address_id:0
msgid "Partner address"
msgstr ""
msgstr "Type de canal Asterisk, tel qu'utilisé dans le dialplan d'Asterisk. Si l'utilisateur a un téléphone IP classique, le type de canal est 'SIP'."
#. module: asterisk_click2dial
#: help:asterisk.server,company_id:0
msgid "Company who uses the Asterisk server."
msgstr ""
msgstr "Société qui utilise le serveur Asterisk."
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,calling_number:0
msgid "Phone number of calling party that has been obtained from Asterisk."
msgstr ""
msgstr "Phone number of calling party that has been obtained from Asterisk."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Contact form"
msgstr "Contact form"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,current_mobile:0
msgid "Current mobile"
msgstr "Current mobile"
#. module: asterisk_click2dial
#: help:asterisk.server,wait_time:0
msgid "Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up."
msgstr ""
msgstr "Temps (en secondes) pendant lequel Asterisk essayera de joindre le téléphone de l'utilisateur avant d'abandonner."
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_res_partner_address
msgid "Partner Addresses"
msgstr ""
msgstr "Carnet d'adresses"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "Zap"
msgstr ""
msgstr "Zap"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:229
#, python-format
msgid "No channel type configured for the current user."
msgstr ""
msgstr "Aucun type de canal n'est configuré pour le présent utilisateur."
#. module: asterisk_click2dial
#: field:asterisk.server,international_prefix:0
msgid "International prefix"
msgstr ""
msgstr "Préfixe international"
#. module: asterisk_click2dial
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr ""
msgstr "La société choisie n'est pas autorisée pour cet utilisateur."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Update mobile"
msgstr "Update mobile"
#. module: asterisk_click2dial
#: field:asterisk.server,extension_priority:0
msgid "Extension priority"
msgstr ""
msgstr "Priorité de l'extension"
#. module: asterisk_click2dial
#: model:res.groups,name:asterisk_click2dial.group_asterisk_cid
msgid "Asterisk CallerID"
msgstr ""
msgstr "Asterisk CallerID"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:338
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:339
#, python-format
msgid "The connection from OpenERP to the Asterisk server failed. Please check the configuration on OpenERP and on Asterisk."
msgstr ""
msgstr "La connexion depuis OpenERP vers le serveur Asterisk a échoué. Vérifiez la configuration côté OpenERP et côté Asterisk."
#. module: asterisk_click2dial
#: help:asterisk.server,context:0
msgid "Asterisk dialplan context from which the calls will be made. Refer to /etc/asterisk/extensions.conf on your Asterisk server."
msgstr ""
msgstr "Contexte du dialplan d'Asterisk depuis lequel les appels seront initiés. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: help:asterisk.server,extension_priority:0
msgid "Priority of the extension in the Asterisk dialplan. Refer to /etc/asterisk/extensions.conf on your Asterisk server."
msgstr ""
msgstr "Priorité de l'extension dans le dialplan d'Asterisk. Cf /etc/asterisk/extensions.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: view:res.users:0
msgid "User"
msgstr ""
msgstr "Utilisateur"
#. module: asterisk_click2dial
#: field:asterisk.server,active:0
msgid "Active"
msgstr ""
msgstr "Actif"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "MGCP"
msgstr ""
msgstr "MGCP"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,to_update_partner_address_id:0
msgid "Contact to update"
msgstr "Contact to update"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Related sale orders"
msgstr ""
msgstr "Bons de commande associés"
#. module: asterisk_click2dial
#: help:res.users,variable:0
msgid "Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."
msgstr ""
msgstr "Set a user-specific 'Variable' field in the Asterisk Manager Interface 'originate' request for the click2dial feature. If you want to have several variable headers, separate them with '|'."
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "Skinny"
msgstr ""
msgstr "Skinny"
#. module: asterisk_click2dial
#: help:res.users,alert_info:0
msgid "Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
msgstr ""
msgstr "Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:413
#, python-format
msgid "There is no phone number !"
msgstr ""
#: view:wizard.open.calling.partner:0
msgid "With calling number as mobile"
msgstr "With calling number as mobile"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,partner_address_id:0
msgid "Contact name"
msgstr "Contact name"
#. module: asterisk_click2dial
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr ""
msgstr "VOus ne pouvez pas avoir deux utilsiateurs avec le même login !"
#. module: asterisk_click2dial
#: field:asterisk.server,ip_address:0
msgid "Asterisk IP addr. or DNS"
msgstr ""
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,partner_address_id:0
msgid "Partner address related to the calling number"
msgstr ""
msgstr "Adr. IP ou DNS d'Asterisk"
#. module: asterisk_click2dial
#: help:res.company,asterisk_server_ids:0
msgid "List of Asterisk servers."
msgstr ""
msgstr "Liste des serveurs Asterisk."
#. module: asterisk_click2dial
#: help:asterisk.server,login:0
msgid "Login that OpenERP will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."
msgstr ""
msgstr "Nom d'utilisateur qu'OpenERP utilisera pour communiquer avec l'interface du Manager d'Asterisk. Cf /etc/asterisk/manager.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: field:asterisk.server,name:0
msgid "Asterisk server name"
msgstr ""
msgstr "Nom du serveur Asterisk"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:233
#, python-format
msgid "No internal phone number configured for the current user"
msgstr ""
msgstr "Aucun numéro de téléphone interne n'est configuré pour le présent utilisateur."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Cancel"
msgstr ""
msgstr "Annuler"
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_res_users
msgid "res.users"
msgstr ""
msgstr "res.users"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:112
#, python-format
msgid "The phone number is not written in valid national format."
msgstr ""
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create new partner with this mobile number"
msgstr ""
msgstr "Le numéro de téléphone n'est pas dans un format national valide."
#. module: asterisk_click2dial
#: field:asterisk.server,password:0
msgid "AMI password"
msgstr ""
msgstr "Mot de passe AMI"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Partner form"
msgstr ""
msgstr "Fiche partenaire"
#. module: asterisk_click2dial
#: help:res.users,asterisk_server_id:0
msgid "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
msgstr ""
msgstr "Asterisk server on which the user's phone is connected. If you leave this field empty, it will use the first Asterisk server of the user's company."
#. module: asterisk_click2dial
#: field:res.users,asterisk_server_id:0
msgid "Asterisk server"
msgstr ""
msgstr "Serveur Asterisk"
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_asterisk_server
msgid "Asterisk Servers"
msgstr ""
msgstr "Serveurs Asterisk"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "DAHDI"
msgstr ""
msgstr "DAHDI"
#. module: asterisk_click2dial
#: field:asterisk.server,login:0
msgid "AMI login"
msgstr ""
msgstr "Nom d'utilisateur AMI"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:195
#, python-format
msgid "No Asterisk server configured for the company '%s'."
msgstr ""
msgstr "Aucun serveur Asterisk n'est associé à la société '%s'."
#. module: asterisk_click2dial
#: field:asterisk.server,national_format_allowed:0
msgid "National format allowed ?"
msgstr ""
#: help:wizard.open.calling.partner,to_update_partner_address_id:0
msgid "Partner contact on which the phone or mobile number will be written"
msgstr "Partner contact on which the phone or mobile number will be written"
#. module: asterisk_click2dial
#: help:asterisk.server,country_prefix:0
msgid "Phone prefix of the country where the Asterisk server is located. For e.g. the phone prefix for France is '33'. If the phone number to dial starts with the 'My country prefix', OpenERP will remove the country prefix from the phone number and add the 'out prefix' followed by the 'national prefix'. If the phone number to dial doesn't start with the 'My country prefix', OpenERP will add the 'out prefix' followed by the 'international prefix'."
msgstr ""
msgstr "Préfixe téléphonique du pays dans lequel est situé le serveur Asterisk. Par exemple, le préfixe téléphonique de la France est '33'. Si le numéro de téléphone à appeler commence par le préfixe du pays, OpenERP supprimera ce préfixe du numéro de téléphone à composer et ajoutera le préfixe pour l'extérieur suivi par le préfixe national. Si le numéro de téléphone à appeler ne commence pas par le préfixe du pays, OpenERP ajoutera le préfixe pour l'extérieur suivi par le préfixe international."
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:111
#, python-format
msgid "The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42"
msgstr ""
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "'Caller ID' des appels passés par l'utilisateur."
#. module: asterisk_click2dial
#: view:res.company:0
msgid "IPBX"
msgstr ""
msgstr "IPBX"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "with calling number as phone"
msgstr "with calling number as phone"
#. module: asterisk_click2dial
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr ""
msgstr "Le nom de la société doit être unique !"
#. module: asterisk_click2dial
#: help:asterisk.server,alert_info:0
msgid "Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
msgstr ""
#: view:wizard.open.calling.partner:0
msgid "Update phone"
msgstr "Update phone"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create new partner with this phone number"
msgstr ""
#: help:asterisk.server,alert_info:0
msgid "Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
msgstr "Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Related invoices"
msgstr ""
msgstr "Factures associées"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "H323"
msgstr ""
msgstr "H323"
#. module: asterisk_click2dial
#: field:res.users,variable:0
msgid "User-specific Variable"
msgstr ""
msgstr "Variable spécifique à l'utilisateur"
#. module: asterisk_click2dial
#: field:asterisk.server,port:0
msgid "Port"
msgstr ""
msgstr "Port"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "No partner contact found in OpenERP with this number"
msgstr ""

170
asterisk_click2dial/i18n/fr.po

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-05-27 16:50+0000\n"
"PO-Revision-Date: 2012-05-27 16:50+0000\n"
"POT-Creation-Date: 2012-05-28 19:59+0000\n"
"PO-Revision-Date: 2012-05-28 19:59+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -31,6 +31,11 @@ msgstr "SIP"
msgid "IP address or DNS name of the Asterisk server."
msgstr "Adresse IP ou DNS du serveur Asterisk."
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,current_phone:0
msgid "Current phone"
msgstr "Tél. actuel"
#. module: asterisk_click2dial
#: field:res.users,callerid:0
msgid "Caller ID"
@ -57,14 +62,16 @@ msgid "Prefix to dial to place outgoing calls. If you don't use a prefix to plac
msgstr "Préfixe à composer pour appeler vers l'extérieur. Si vous n'avez pas à composer un préfixe pour appeler vers l'extérieur, laissez vide."
#. module: asterisk_click2dial
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "'Caller ID' des appels passés par l'utilisateur."
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:111
#, python-format
msgid "The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42"
msgstr "Le numéro de téléphone n'est pas dans un format international valide. Exemple de numéro de téléphone dans un format international valide : +33 1 41 98 12 42"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
msgid "IAX2"
msgstr "IAX2"
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:113
#, python-format
msgid "The phone number is not written in valid format."
msgstr "Le numéro de téléphone n'est pas dans un format valide."
#. module: asterisk_click2dial
#: field:asterisk.server,national_prefix:0
@ -86,6 +93,11 @@ msgstr "Préfixe pour l'extérieur"
msgid "TCP port on which the Asterisk Manager Interface listens. Defined in /etc/asterisk/manager.conf on Asterisk."
msgstr "Port TCP sur lequel écoute l'interface du Manager Asterisk. Cf /etc/asterisk/manager.conf sur le serveur Asterisk."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Update an existing contact"
msgstr "Mettre à jour un contact existant"
#. module: asterisk_click2dial
#: field:res.users,internal_number:0
msgid "Internal number"
@ -107,6 +119,11 @@ msgstr "Error message in raise"
msgid "Prefix for national phone calls (don't include the 'out prefix'). For e.g., in France, the phone numbers look like '01 41 98 12 42' : the National prefix is '0'."
msgstr "Préfixe pour les appels nationaux (ne pas inclure le préfixe pour l'extérieur). Par exemple, en France, les numéros de téléphone sont du type '01 41 98 12 42' ; le préfixe national est '0'."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create a new contact"
msgstr "Créer un nouveau contact"
#. module: asterisk_click2dial
#: help:asterisk.server,password:0
msgid "Password that Asterisk will use to communicate with the Asterisk Manager Interface. Refer to /etc/asterisk/manager.conf on your Asterisk server."
@ -153,7 +170,7 @@ msgstr "Partenaire"
#. module: asterisk_click2dial
#: field:asterisk.server,alert_info:0
msgid "Alert-Info SIP header"
msgstr "En-tête SIP Alert-Info"
msgstr "En-tête SIP Alert-Info SIP"
#. module: asterisk_click2dial
#: selection:res.users,asterisk_chan_type:0
@ -165,22 +182,32 @@ msgstr "mISDN"
msgid "Companies"
msgstr "Sociétés"
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,partner_address_id:0
msgid "Partner contact related to the calling number"
msgstr "Contact partenaire associé au numéro de l'appelant"
#. module: asterisk_click2dial
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr "Erreur ! Vous ne pouvez pas créer de sociétés récursives"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:274
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:275
#, python-format
msgid "No callerID configured for the current user"
msgstr "Aucun callerID n'est configuré pour l'utilisateur actuel"
msgstr "No callerID configured for the current user"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:507
#: field:asterisk.server,national_format_allowed:0
msgid "National format allowed ?"
msgstr "Format national autorisé ?"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:511
#, python-format
msgid "Could not get the calling number from Asterisk. Check your setup and look at the OpenERP debug logs."
msgstr "Echec lors de la tentative de récupération du numéro appelant depuis Asterisk. Vérifiez votre configuration et consultez les messages de debug d'OpenERP."
msgstr "Could not get the calling number from Asterisk. Check your setup and look at the OpenERP debug logs."
#. module: asterisk_click2dial
#: help:asterisk.server,name:0
@ -193,10 +220,9 @@ msgid "My country prefix"
msgstr "Préfixe du pays"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:113
#, python-format
msgid "The phone number is not written in valid format."
msgstr "Le numéro de téléphone n'est pas dans un format valide."
#: selection:res.users,asterisk_chan_type:0
msgid "IAX2"
msgstr "IAX2"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:80
@ -208,16 +234,17 @@ msgstr "Le numéro de téléphone n'est pas dans un format valide."
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:229
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:233
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:244
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:263
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:269
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:274
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:300
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:310
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:338
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:394
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:413
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:507
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:518
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:264
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:270
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:275
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:301
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:311
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:339
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:395
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:414
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:511
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:522
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:614
#, python-format
msgid "Error :"
msgstr "Erreur :"
@ -234,6 +261,12 @@ msgstr "Numéro de téléphone interne de l'utilisateur."
msgid "Open calling partner"
msgstr "Ouvrir le partenaire appelant"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:414
#, python-format
msgid "There is no phone number !"
msgstr "Il n'y a pas de numéro de téléphone !"
#. module: asterisk_click2dial
#: model:ir.model,name:asterisk_click2dial.model_wizard_open_calling_partner
msgid "wizard.open.calling.partner"
@ -249,11 +282,6 @@ msgstr "Préfixe à ajouter pour passer des appels vers l'étranger (ne pas incl
msgid "Asterisk channel type, as used in the Asterisk dialplan. If the user has a regular IP phone, the channel type is 'SIP'."
msgstr "Type de canal Asterisk, tel qu'utilisé dans le dialplan d'Asterisk. Si l'utilisateur a un téléphone IP classique, le type de canal est 'SIP'."
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,partner_address_id:0
msgid "Partner address"
msgstr "Contact du partenaire"
#. module: asterisk_click2dial
#: help:asterisk.server,company_id:0
msgid "Company who uses the Asterisk server."
@ -264,6 +292,16 @@ msgstr "Société qui utilise le serveur Asterisk."
msgid "Phone number of calling party that has been obtained from Asterisk."
msgstr "Phone number of calling party that has been obtained from Asterisk."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Contact form"
msgstr "Fiche du contact"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,current_mobile:0
msgid "Current mobile"
msgstr "Tél. portable actuel"
#. module: asterisk_click2dial
#: help:asterisk.server,wait_time:0
msgid "Amount of time (in seconds) Asterisk will try to reach the user's phone before hanging up."
@ -295,6 +333,11 @@ msgstr "Préfixe international"
msgid "The chosen company is not in the allowed companies for this user"
msgstr "La société choisie n'est pas autorisée pour cet utilisateur."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Update mobile"
msgstr "Mettre à jour le portable"
#. module: asterisk_click2dial
#: field:asterisk.server,extension_priority:0
msgid "Extension priority"
@ -306,7 +349,7 @@ msgid "Asterisk CallerID"
msgstr "Asterisk CallerID"
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:338
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:339
#, python-format
msgid "The connection from OpenERP to the Asterisk server failed. Please check the configuration on OpenERP and on Asterisk."
msgstr "La connexion depuis OpenERP vers le serveur Asterisk a échoué. Vérifiez la configuration côté OpenERP et côté Asterisk."
@ -336,6 +379,11 @@ msgstr "Actif"
msgid "MGCP"
msgstr "MGCP"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,to_update_partner_address_id:0
msgid "Contact to update"
msgstr "Contact à mettre à jour"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Related sale orders"
@ -357,10 +405,14 @@ msgid "Set a user-specific Alert-Info header in SIP request to user's IP Phone f
msgstr "Set a user-specific Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:413
#, python-format
msgid "There is no phone number !"
msgstr "Il n'y a pas de numéro de téléphone !"
#: view:wizard.open.calling.partner:0
msgid "With calling number as mobile"
msgstr "avec le numéro appelant comme portable"
#. module: asterisk_click2dial
#: field:wizard.open.calling.partner,partner_address_id:0
msgid "Contact name"
msgstr "Nom du contact"
#. module: asterisk_click2dial
#: sql_constraint:res.users:0
@ -372,11 +424,6 @@ msgstr "VOus ne pouvez pas avoir deux utilsiateurs avec le même login !"
msgid "Asterisk IP addr. or DNS"
msgstr "Adr. IP ou DNS d'Asterisk"
#. module: asterisk_click2dial
#: help:wizard.open.calling.partner,partner_address_id:0
msgid "Partner address related to the calling number"
msgstr "Contact du partenaire associé au numéro appelant"
#. module: asterisk_click2dial
#: help:res.company,asterisk_server_ids:0
msgid "List of Asterisk servers."
@ -396,7 +443,7 @@ msgstr "Nom du serveur Asterisk"
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:233
#, python-format
msgid "No internal phone number configured for the current user"
msgstr "Aucun numéro de téléphone interne n'est configuré pour l'utilisateur actuel."
msgstr "Aucun numéro de téléphone interne n'est configuré pour le présent utilisateur."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
@ -414,11 +461,6 @@ msgstr "res.users"
msgid "The phone number is not written in valid national format."
msgstr "Le numéro de téléphone n'est pas dans un format national valide."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create new partner with this mobile number"
msgstr "Nouveau partenaire avec ce numéro de portable"
#. module: asterisk_click2dial
#: field:asterisk.server,password:0
msgid "AMI password"
@ -461,9 +503,9 @@ msgid "No Asterisk server configured for the company '%s'."
msgstr "Aucun serveur Asterisk n'est associé à la société '%s'."
#. module: asterisk_click2dial
#: field:asterisk.server,national_format_allowed:0
msgid "National format allowed ?"
msgstr "Format national autorisé ?"
#: help:wizard.open.calling.partner,to_update_partner_address_id:0
msgid "Partner contact on which the phone or mobile number will be written"
msgstr "Partner contact on which the phone or mobile number will be written"
#. module: asterisk_click2dial
#: help:asterisk.server,country_prefix:0
@ -471,31 +513,35 @@ msgid "Phone prefix of the country where the Asterisk server is located. For e.g
msgstr "Préfixe téléphonique du pays dans lequel est situé le serveur Asterisk. Par exemple, le préfixe téléphonique de la France est '33'. Si le numéro de téléphone à appeler commence par le préfixe du pays, OpenERP supprimera ce préfixe du numéro de téléphone à composer et ajoutera le préfixe pour l'extérieur suivi par le préfixe national. Si le numéro de téléphone à appeler ne commence pas par le préfixe du pays, OpenERP ajoutera le préfixe pour l'extérieur suivi par le préfixe international."
#. module: asterisk_click2dial
#: code:addons/asterisk_click2dial/asterisk_click2dial.py:111
#, python-format
msgid "The phone number is not written in valid international format. Example of valid international format : +33 1 41 98 12 42"
msgstr "Le numéro de téléphone n'est pas dans un format international valide. Exemple de numéro de téléphone dans un format international valide : +33 1 41 98 12 42"
#: help:res.users,callerid:0
msgid "Caller ID used for the calls initiated by this user."
msgstr "'Caller ID' des appels passés par l'utilisateur."
#. module: asterisk_click2dial
#: view:res.company:0
msgid "IPBX"
msgstr "IPBX"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "with calling number as phone"
msgstr "avec le numéro appelant comme tél."
#. module: asterisk_click2dial
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr "Le nom de la société doit être unique !"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Update phone"
msgstr "Mettre à jour le tél."
#. module: asterisk_click2dial
#: help:asterisk.server,alert_info:0
msgid "Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
msgstr "Set Alert-Info header in SIP request to user's IP Phone for the click2dial feature. If empty, the Alert-Info header will not be added. You can use it to have a special ring tone for click2dial (a silent one !) or to activate auto-answer for example. If you want to have several variable headers, separate them with '|'."
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Create new partner with this phone number"
msgstr "Nouveau partenaire avec ce numéro de tél. fixe"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "Related invoices"
@ -516,3 +562,7 @@ msgstr "Variable spécifique à l'utilisateur"
msgid "Port"
msgstr "Port"
#. module: asterisk_click2dial
#: view:wizard.open.calling.partner:0
msgid "No partner contact found in OpenERP with this number"
msgstr "Aucun contact partenaire n'a été trouvé dans OpenERP avec ce numéro"

44
asterisk_click2dial/res_partner_view.xml

@ -88,19 +88,39 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Open calling partner">
<field name="calling_number" readonly="1"/>
<field name="partner_address_id" readonly="1" />
<field name="partner_id" readonly="1" />
<field name="calling_number" colspan="4"/>
<field name="partner_address_id" attrs="{'invisible':[('partner_address_id','=',False)]}"/>
<field name="partner_id" attrs="{'invisible':[('partner_address_id','=',False)]}" /> <!-- I want it visible when partner_address_id != False and partner_id = False, so that the user can see that this partner_address doesn't have a partner -->
<newline />
<button name="open_partner" icon="gtk-go-forward" string="Partner form" type="object" attrs="{'invisible':[('partner_id','=',False)]}"/>
<button name="open_sale_orders" icon="gtk-go-forward" string="Related sale orders" type="object" attrs="{'invisible':[('partner_id','=',False)]}" />
<button name="open_invoices" icon="gtk-go-forward" string="Related invoices" type="object" attrs="{'invisible':[('partner_id','=',False)]}" />
<button special="cancel" icon="gtk-cancel" string="Cancel" attrs="{'invisible':[('partner_id','=',False)]}" />
<newline />
<button name="create_new_partner_phone" icon="gtk-new" string="Create new partner with this phone number" type="object" attrs="{'invisible':[('partner_id','!=',False)]}" colspan="2"/>
<button name="create_new_partner_mobile" icon="gtk-new" string="Create new partner with this mobile number" type="object" attrs="{'invisible':[('partner_id','!=',False)]}" colspan="2"/>
<newline />
<button special="cancel" icon="gtk-cancel" string="Cancel" attrs="{'invisible':[('partner_id','!=',False)]}" colspan="4" />
<group colspan="4" attrs="{'invisible':[('partner_id','=',False)]}">
<button name="open_partner" icon="gtk-go-forward" string="Partner form" type="object" />
<button name="open_sale_orders" icon="gtk-go-forward" string="Related sale orders" type="object" />
<button name="open_invoices" icon="gtk-go-forward" string="Related invoices" type="object" />
<button special="cancel" icon="gtk-cancel" string="Cancel" />
</group>
<!-- I display the button "Contact form" when the partner address exists but not the partner -->
<group colspan="4" attrs="{'invisible':['|', '&amp;', ('partner_address_id','!=',False), ('partner_id','!=',False), ('partner_address_id','=',False)]}">
<button name="open_partner_address" icon="gtk-go-forward" string="Contact form" type="object" colspan="2"/>
<button special="cancel" icon="gtk-cancel" string="Cancel" colspan="2"/>
</group>
<group attrs="{'invisible':[('partner_address_id','!=',False)]}" colspan="4" col="8">
<label string="No partner contact found in OpenERP with this number" colspan="8" />
<separator string="Create a new contact" colspan="8" />
<button name="create_partner_address_phone" icon="gtk-new" string="with calling number as phone" type="object" colspan="4"/>
<button name="create_partner_address_mobile" icon="gtk-new" string="With calling number as mobile" type="object" colspan="4"/>
<newline />
<separator string="Update an existing contact" colspan="8" />
<field name="to_update_partner_address_id" colspan="8" on_change="onchange_to_update_partner_address(to_update_partner_address_id)"/>
<field name="current_phone" colspan="6"/>
<button name="update_partner_address_phone" icon="gtk-convert" string="Update phone" type="object" colspan="2"/>
<field name="current_mobile" colspan="6"/>
<button name="update_partner_address_mobile" icon="gtk-convert" string="Update mobile" type="object" colspan="2"/>
<newline />
<button special="cancel" icon="gtk-cancel" string="Cancel" colspan="8" />
</group>
<!-- I repeat the cancel button for layout reasons -->
</form>
</field>

1
asterisk_click2dial/res_users_view.xml

@ -21,6 +21,7 @@
<field name="asterisk_chan_type"/>
<field name="callerid"/>
<field name="alert_info"/>
<field name="variable"/>
<field name="asterisk_server_id"/>
</page>
</page>

Loading…
Cancel
Save